diff Makefile @ 7648:02e358a3a8a7

i18n: let Makefile generate i18n/hg.pot The target update-pot extracts strings using pygettext and updates the i18n/hg.pot file. The translators can then use msgmerge to merge the new strings in hg.pot with their xx.po file when they want to. The setup.py file now includes files under both templates/ and i18n/ as data files.
author Martin Geisler <mg@daimi.au.dk>
date Thu, 15 Jan 2009 00:10:54 +0100
parents 3fd4dde37628
children 0641fd8a4bb4
line wrap: on
line diff
--- a/Makefile	Thu Jan 15 11:41:59 2009 +0100
+++ b/Makefile	Thu Jan 15 00:10:54 2009 +0100
@@ -13,6 +13,7 @@
 	@echo '  dist         - run all tests and create a source tarball in dist/'
 	@echo '  clean        - remove files created by other targets'
 	@echo '                 (except installed files or dist source tarball)'
+	@echo '  update-pot   - update i18n/hg.pot'
 	@echo
 	@echo 'Example for a system-wide installation under /usr/local:'
 	@echo '  make all && su -c "make install" && hg version'
@@ -74,6 +75,14 @@
 test-%:
 	cd tests && $(PYTHON) run-tests.py $(TESTFLAGS) $@
 
+update-pot:
+	mkdir -p i18n
+	pygettext -d doc -p i18n --docstrings \
+	mercurial/commands.py hgext/*.py hgext/*/__init__.py
+	pygettext -d all -p i18n mercurial hgext doc
+	msgcat i18n/doc.pot i18n/all.pot > i18n/hg.pot
+	rm i18n/doc.pot i18n/all.pot
 
 .PHONY: help all local build doc clean install install-bin install-doc \
-	install-home install-home-bin install-home-doc dist dist-notests tests
+	install-home install-home-bin install-home-doc dist dist-notests tests \
+	update-pot