diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-12-29 04:38:40 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-12-29 04:38:40 +0000 |
commit | 912521ef0711204965aa2319d41c7741bd3f4f4c (patch) | |
tree | b0a3d21ddfc0b7ca4a8deaa26135d7c3309d3471 /po/Makefile | |
parent | d05d052bff599327cf43b6f00e337197f1d2ab18 (diff) | |
download | ikiwiki-912521ef0711204965aa2319d41c7741bd3f4f4c.tar ikiwiki-912521ef0711204965aa2319d41c7741bd3f4f4c.tar.gz |
* Initial work on internationalization of the program code. po/ikiwiki.pot
is available for translation.
* Export gettext() from IkiWiki module.
Diffstat (limited to 'po/Makefile')
-rw-r--r-- | po/Makefile | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/po/Makefile b/po/Makefile new file mode 100644 index 000000000..fa129de81 --- /dev/null +++ b/po/Makefile @@ -0,0 +1,44 @@ +# List here all source files with translatable strings. +POTFILES=$(sort $(shell find ../IkiWiki -type f -name \*.pm)) \ + ../ikiwiki.in ../IkiWiki.pm + +POFILES=$(wildcard *.po) +MOFILES=$(POFILES:.po=.mo) + +all: ikiwiki.pot $(MOFILES) + +install: all + for file in $(MOFILES); do \ + lang=`echo $$file | sed 's/\.mo//'`; \ + install -d $(DESTDIR)$(PREFIX)/share/locale/$$lang/LC_MESSAGES/; \ + install -m 0644 $$file $(DESTDIR)$(PREFIX)/share/locale/$$lang/LC_MESSAGES/ikiwiki.mo; \ + done + +ikiwiki.pot: $(POTFILES) + @echo "Rebuilding the pot file" + xgettext $(POTFILES) -o ikiwiki.pot -Lperl + +clean: + rm -f ikiwiki.pot $(MOFILES) messages messages.mo + +%.mo: %.po + msgfmt -o $@ $< + +%.po: ikiwiki.pot + @echo -n "Merging ikiwiki.pot and $@" + @msgmerge $@ ikiwiki.pot -o $@.new +# Typically all that changes was a date. I'd prefer not to commit such +# changes, so detect and ignore them. + @if [ "`diff $@ $@.new | grep '[<>]' | wc -l`" -ne 2 ]; then \ + mv -f $@.new $@; \ + else \ + rm -f $@.new; \ + fi + @msgfmt --statistics $@ + +check: + @for file in $(POFILES); do \ + lang=`echo $$file | sed 's/\.po//'`; \ + printf "$$lang: "; \ + msgfmt -o /dev/null -c -v --statistics $$lang.po;\ + done |