chiark / gitweb /
_translate-docs
authorBen Hutchings <ben@decadent.org.uk>
Tue, 17 Jan 2017 23:57:33 +0000 (23:57 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 17 Jan 2017 23:57:33 +0000 (23:57 +0000)
Gbp-Pq: Name 206_translate-docs.diff

Makefile.doc

index c7d6946cf1ab43f33f33a07844ff6bf822f0ee85..53e955732a91bed8c970e4489829bf11b13068bd 100644 (file)
@@ -13,5 +13,37 @@ chm: puzzles.hhp
 puzzles.hhp: puzzles.but chm.but
        halibut --html puzzles.but chm.but
 
+TRANSLATIONS := $(patsubst po/%.po,%,$(wildcard po/*.po))
+
+update-po:
+# Please tell me there is an easier way to preserve the POT file header.
+       test -f po/puzzles-doc.pot
+       po4a-gettextize -f halibut -m puzzles.but --package-name puzzles \
+               -p po/puzzles-doc.tmp1.pot
+       sed -i '1,/^#$$/d' po/puzzles-doc.tmp1.pot
+       cat po/puzzles-doc.pot.head po/puzzles-doc.tmp1.pot \
+               > po/puzzles-doc.tmp2.pot
+       diff -q -I Project-Id-Version: -I POT-Creation-Date: \
+               po/puzzles-doc.pot po/puzzles-doc.tmp2.pot || \
+               mv po/puzzles-doc.tmp2.pot po/puzzles-doc.pot
+       rm -f po/puzzles-doc.tmp*.pot
+       for lang in $(TRANSLATIONS); do \
+               msgmerge --previous -U po/$$lang.po po/puzzles-doc.pot || exit; \
+       done
+.PHONY: update-po
+
+doc/puzzles.but.%: puzzles.but po/%.po
+       mkdir -p doc
+       po4a-translate -k 0 -f halibut -m puzzles.but -p po/$*.po -l $@
+.PRECIOUS: $(addprefix doc/puzzles.but.,$(TRANSLATIONS))
+
+doc/preprocessed.but.%: doc/puzzles.but.%
+       sed 's/PREFIX-/$(BINPREFIX)/g' $< > $@
+
+doc/puzzles.txt.%: doc/preprocessed.but.%
+       halibut --text=$@ --input-charset=UTF-8 $<
+all: $(addprefix doc/puzzles.txt.,$(TRANSLATIONS))
+
 clean:
        rm -f puzzles.hlp puzzles.txt preprocessed.but HACKING *.html *.hh[pck]
+       rm -rf doc