1 PERKAMON_DIR = perkamon
6 PO4AFLAGS ?= -k $(THRESH) $(FLAGS)
8 PO4A_SUBDIRS = $(notdir $(wildcard po4a/*))
10 all: translate update-stats
12 translate: $(patsubst %, stamp/%, $(PO4A_SUBDIRS))
13 stamp/%: stamp-jm-setup po4a/%/po/ja.po
14 @echo "*************** translate: $* ***************"
16 LC_ALL=C $(MAKE) process-$* \
17 PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR)
20 translate-all: $(patsubst %, _translate-%, $(PO4A_SUBDIRS))
21 _translate-%: jm-setup
22 LC_ALL=C $(MAKE) process-$* \
23 PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR)
25 # release: $(patsubst %, _release-%, $(PO4A_SUBDIRS))
27 # _release-%: jm-setup
28 # rm -f $(PERKAMON_DIR)/build/ja
29 # ln -s ../../release $(PERKAMON_DIR)/build/ja
30 # LC_ALL=C $(MAKE) process-$* \
31 # PO4AFLAGS="-k $(THRESH_REL) $(FLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR)
32 # $(RM) $(PERKAMON_DIR)/build/ja
33 # ln -s ../../draft $(PERKAMON_DIR)/build/ja
34 # @# Do not remove unreleased pages
36 # set -e; if git status release | grep deleted >/dev/null; then \
37 # git status release | grep deleted | awk '{print $$3;}' | xargs -n1 echo; \
38 # git status release | grep deleted | awk '{print $$3;}' | xargs -n1 git checkout; \
41 ../../admin/JM-release-all.sh -c
43 update-stats: untrans.html
45 untrans.html: $(patsubst %, stats/%, $(PO4A_SUBDIRS))
46 @echo "*************** Updating translation statistics ***************"
47 ./tools/generate-list.pl $^ > $@
49 stats/%: stamp-jm-setup po4a/%/po/ja.po
50 @echo "*************** stats: $* ***************"
53 $(RM) $(PERKAMON_DIR)/build/ja
54 ln -s ../../_transtmp $(PERKAMON_DIR)/build/ja
55 LC_ALL=C $(MAKE) process-$* \
56 PO4AFLAGS="-k 100 $(FLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR) \
58 ./tools/extract-untrans.pl < _log.txt > $@
59 $(RM) $(PERKAMON_DIR)/build/ja
60 ln -s ../../draft $(PERKAMON_DIR)/build/ja
68 @cat stats/* | grep -v '^#' | cut -d , -f 1 | sort > _stats.txt
69 @grep '^[×☆]' translation_list | cut -d : -f 5-6 | sed -e 's/:/./' | sort > _tr_todo.txt
70 @for p in `comm -23 _tr_todo.txt _stats.txt`; do \
71 ../../admin/JM-tl-modify.pl -U translation_list $$p RO; \
73 @$(RM) _stats.txt _tr_todo.txt
76 @cat stats/* | grep -v '^#' | cut -d , -f 1 | sort > _stats.txt
77 @grep '^○' translation_list | cut -d : -f 5-6 | sed -e 's/:/./' | sort > _tr_finish.txt
78 @comm -12 _tr_finish.txt _stats.txt
79 @$(RM) _stats.txt _tr_finish.txt
82 set -e; if git status release | grep modified >/dev/null; then \
83 git status release | grep modified | awk '{print $$3;}' | cut -d / -f 3 | xargs -n1 -IXXXXX ../../admin/JM-tl-modify.pl -U translation_list XXXXX RO; \
87 set -e; for d in po4a/*; do \
88 echo "----- $$d -----"; cur=`pwd`; cd $$d/po; \
90 LC_ALL=C msgmerge --verbose -o $$f ja.po $$(basename $$d) \
96 set -e; for d in po4a/$*; do \
99 msgmerge --verbose -o $$f ja.po $$(basename $$d) \
100 && mv -f $$f ja.po; \
105 @LC_ALL=C $(MAKE) stats \
106 PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR)
108 untrans-postats: jm-setup
109 @LC_ALL=C $(MAKE) stats \
110 PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR) \
111 2>&1 | grep -vE ' translated messages\.$$'
113 jm-setup: stamp-jm-setup
115 @# Create symlink to po4a/*/po in the top dir.
116 set -e; for d in $(PERKAMON_DIR)/po4a/*; do \
117 if [ ! -e $$d/po ]; then \
118 t=$$(echo $$d | sed -e "s|$(PERKAMON_DIR)/||"); \
119 ln -s ../../../$$t/po $$d/po; \
122 cd $(PERKAMON_DIR) && make setup
123 @set -e; if [ ! -e $(PERKAMON_DIR)/build/ja ]; then \
124 ln -s ../../draft $(PERKAMON_DIR)/build/ja; \
130 $(RM) $(PERKAMON_DIR)/man-pages || true
131 $(RM) $(PERKAMON_DIR)/stamp-*
132 $(RM) -rf $(PERKAMON_DIR)/build
133 find $(PERKAMON_DIR) -type l | xargs $(RM)
136 @echo "Available targets:"
137 @echo " translate Generate draft from po files"
138 @echo " translate-<SEC> Generate draft from the specified po file"
139 @echo " release Generate release from po files"
141 @echo " update-stats Update per-page trans stats"
142 @echo " clean-stats Remove all caches of per-page trans stats"
143 @echo " postats Display per-po trans stats"
144 @echo " untrans-postats Display per-po trans stats (untrans only)"
146 @echo " jm-setup Setup perkamon environment"
147 @echo " clean-setup Clean perkamon environment"