diff --git a/.hgignore b/.hgignore --- a/.hgignore +++ b/.hgignore @@ -27,6 +27,7 @@ Output/Mercurial-*.exe .DS_Store tags cscope.* +i18n/hg.pot syntax: regexp ^\.pc/ diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -13,6 +13,7 @@ help: @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 @@ tests: 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 diff --git a/setup.py b/setup.py --- a/setup.py +++ b/setup.py @@ -149,6 +149,12 @@ try: except ImportError: pass +datafiles = [] +for root in ('templates', 'i18n'): + for dir, dirs, files in os.walk(root): + datafiles.append((os.path.join('mercurial', dir), + [os.path.join(dir, file_) for file_ in files])) + setup(name='mercurial', version=version, author='Matt Mackall', @@ -159,9 +165,7 @@ setup(name='mercurial', scripts=scripts, packages=packages, ext_modules=ext_modules, - data_files=[(os.path.join('mercurial', root), - [os.path.join(root, file_) for file_ in files]) - for root, dirs, files in os.walk('templates')], + data_files=datafiles, cmdclass=cmdclass, options=dict(py2exe=dict(packages=['hgext', 'email']), bdist_mpkg=dict(zipdist=True,