FLAGS ?=
PO4AFLAGS ?= -k $(THRESH) $(FLAGS)
+PO4A_SUBDIRS = $(notdir $(wildcard po4a/*))
+
all: translate
-translate: jm-setup
- LC_ALL=C $(MAKE) translate \
- PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR)
- @# I don't know why untrans.txt is generated in release target
- $(RM) untrans.txt
+translate: $(patsubst %, translate-%, $(PO4A_SUBDIRS))
translate-%: jm-setup
- LC_ALL=C $(MAKE) translate-$* \
+ LC_ALL=C $(MAKE) process-$* \
PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR)
-release: jm-setup
+release: $(patsubst %, release-%, $(PO4A_SUBDIRS))
+
+release-%: jm-setup
rm -f $(PERKAMON_DIR)/build/ja
ln -s ../../release $(PERKAMON_DIR)/build/ja
- LC_ALL=C $(MAKE) translate \
+ LC_ALL=C $(MAKE) process-$* \
PO4AFLAGS="-k $(THRESH_REL) $(FLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR)
$(RM) $(PERKAMON_DIR)/build/ja
ln -s ../../draft $(PERKAMON_DIR)/build/ja
git status release | grep deleted | awk '{print $$3;}' | xargs -n1 echo; \
git status release | grep deleted | awk '{print $$3;}' | xargs -n1 git checkout; \
fi
- @# I don't know why untrans.txt is generated in release target
- $(RM) untrans.txt
-update-stats: jm-setup
- mkdir _transtmp
+update-stats: untrans.html
+
+untrans.html: $(patsubst %, stats/%, $(PO4A_SUBDIRS))
+ ./tools/generate-list.pl $^ > $@
+
+stats/%: stamp-jm-setup po4a/%/po/ja.po
+ @echo "*************** $* ***************"
+ mkdir -p stats
+ mkdir -p _transtmp
$(RM) $(PERKAMON_DIR)/build/ja
ln -s ../../_transtmp $(PERKAMON_DIR)/build/ja
- LC_ALL=C $(MAKE) translate \
+ LC_ALL=C $(MAKE) process-$* \
PO4AFLAGS="-k 100 $(FLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR) \
| tee _log.txt
- ./untrans-list.pl < _log.txt > untrans.html
+ ./tools/extract-untrans.pl < _log.txt > $@
$(RM) $(PERKAMON_DIR)/build/ja
ln -s ../../draft $(PERKAMON_DIR)/build/ja
$(RM) -r _transtmp
$(RM) _log.txt
- @# I don't know why untrans.txt is generated in release target
- $(RM) untrans.txt
+
+clean-stats:
+ $(RM) -r stats
release-tl:
set -e; if git status release | grep modified >/dev/null; then \
cd $$cur; \
done
-stats: jm-setup
+postats: jm-setup
@LC_ALL=C $(MAKE) stats \
PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR)
-untrans-stats: jm-setup
+untrans-postats: jm-setup
@LC_ALL=C $(MAKE) stats \
PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR) \
2>&1 | grep -vE ' translated messages\.$$'
@echo " release Generate release from po files"
@echo ""
@echo " update-stats Update per-page trans stats"
- @echo " stats Display per-po trans stats"
- @echo " untrans-stats Display per-po trans stats (untrans only)"
+ @echo " postats Display per-po trans stats"
+ @echo " untrans-postats Display per-po trans stats (untrans only)"
@echo ""
@echo " jm-setup Setup perkamon environment"
@echo " clean-setup Clean perkamon environment"
--- /dev/null
+#!/usr/bin/env perl
+
+use File::Basename qw/basename/;
+
+$print_format = 1;
+
+while (<>) {
+ if (/^po4a/) {
+ @dat = split;
+ $cfg = $dat[$#dat];
+ @dat = split('/', $cfg);
+ $poname = $dat[2];
+ $poname =~ s/\.cfg$//;
+ $poname_print = 1;
+ }
+ next if ! /^Discard /;
+ s/\(//;
+ s/\)//;
+ @dat = split(' ');
+ $page = basename($dat[1]);
+ $comp = $dat[2];
+ $all = $dat[4];
+ $remaining = $all - $comp;
+ $ratio = $comp / $all * 100;
+
+ if ($print_format) {
+ print "# pagename,#complete,#remaining,#all\n";
+ $print_format = 0;
+ }
+ print "$page,$comp,$remaining,$all\n";
+}
#!/usr/bin/env perl
+use File::Basename qw/basename/;
+
+$debug = 0;
+$page_count = 0;
+
sub print_header {
print <<EOF;
<HTML>
sub print_footer {
print <<EOF;
+<TR><TD COLSPAN=3>Total $page_count pages</TD></TR>
</TABLE>
</BODY></HTML>
EOF
print "</TR>\n";
}
-$poname = "";
-$poname_print = 1;
-
-print_header();
+sub process_postat {
+ my $postat = shift;
+ my $poname = basename($postat);
+ my $poname_print = 1;
-while (<>) {
- if (/^po4a/) {
- @dat = split;
- $cfg = $dat[$#dat];
- @dat = split('/', $cfg);
- $poname = $dat[2];
- $poname =~ s/\.cfg$//;
- $poname_print = 1;
+ open(POSTAT, $postat);
+ while (<POSTAT>) {
+ next if /^#/;
+ # format: pagename, #complete, #remaining, #total
+ my ($page, $comp, $remaining, $total) = split(',');
+ $ratio = $comp / $total * 100;
+ if ($poname_print) {
+ print_poname($poname);
+ $poname_print = 0;
+ }
+ print_manpage($page, $total, $remaining, $ratio);
+ $page_count++;
}
- next if ! /^Discard /;
- s/\(//;
- s/\)//;
- @dat = split(' ');
- $page = $dat[1];
- $comp = $dat[2];
- $all = $dat[4];
- $ratio = $comp/$all*100;
- if ($poname_print) {
- print_poname($poname);
- $poname_print = 0;
- }
- print_manpage($page, $all, $all - $comp, $ratio);
}
+print_header();
+foreach my $name (@ARGV) {
+ print STDERR "$name...\n" if $debug;
+ process_postat($name);
+}
print_footer();