Mercurial > p > roundup > code
view locale/GNUmakefile @ 7052:4b6a6b794dfa
Fix errors in po files.
Trying to get translation files in shape for translationproject.org.
Not sure it wil happen but this checkin fixes errors in .po files found
by msgfmt -cv.
Recreated template and merged into .po files.
Also adds potest to makefile targets and improves diff target.
Fixes:
Project-Id-Version changed to 2.3.0. I can't find doc on what this
is supposed to be. I assume it is to match the .po file to the
release since there are other fields for recording the last
update to the translations.
Language header, is often blank. Added Language-Team value where missing.
Plural-Forms header for a couple of languages per:
https://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html
Japanese still has an issue. There are plural forms defined in the
file, but according to the above, there should only be one form.
I don't know Japanese, so am not qualified to remove the plural
forms or change the Plural-Forms header to the expected:
nplurals=1; plural=0;
So I have left it with: nplurals=2; plural=0;\n"
Which will always choose the first plural form (index 0).
Added Last-Translator, Language and Content-Transfer-Encoding for
en.po.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 20 Nov 2022 11:29:31 -0500 |
| parents | 01216187a167 |
| children | b222658a3504 |
line wrap: on
line source
# Extract translatable strings from Roundup sources, # update and compile all existing translations # tool locations XPOT ?= xpot MSGFMT ?= msgfmt MSGMERGE ?= msgmerge XGETTEXT ?= xgettext PYTHON ?= python3 TEMPLATE=roundup.pot PACKAGES=$(shell find ../roundup ../share/roundup/templates -name '*.py' \ | sed -e 's,/[^/]*$$,,' | sort | uniq) SOURCES=$(PACKAGES:=/*.py) PO_FILES=$(wildcard *.po) MO_FILES=$(PO_FILES:.po=.mo) PYTHON_BUILD=../build/lib RUN_PYTHON=PYTHONPATH=$(PYTHON_BUILD) $(PYTHON) -O all: dist help: @echo "$(MAKE) - build MO files. Run this before sdist" @echo "$(MAKE) dist - same as above" @echo "$(MAKE) template - update message template from sources" @echo "$(MAKE) diff - see template differences in vi" @echo "$(MAKE) potest - check .po files for errors" @echo "$(MAKE) pytest - create locale files to run pytest" @echo "$(MAKE) locale.po - update message file from template" @echo "$(MAKE) locale.mo - compile individual message file" @echo "$(MAKE) help - this text" # This will rebuild all MO files without updating their corresponding PO # files first. Run before creating Roundup distribution (hence the name). # PO files should be updated by their translators only, automatic update # adds unwanted fuzzy labels. dist: for file in $(PO_FILES); do \ ${MSGFMT} -o `basename $$file .po`.mo $$file; \ done template: test -d $(PYTHON_BUILD) || (echo "Missing build directory $(PYTHON_BUILD). ln -s lib to build library"; exit 1) ${XPOT} -n -o $(TEMPLATE) $(SOURCES) ${RUN_PYTHON} ../roundup/cgi/TAL/talgettext.py -u $(TEMPLATE) \ ../share/roundup/templates/classic/html/*.html \ ../share/roundup/templates/devel/html/*.html \ ../share/roundup/templates/minimal/html/*.html \ ../share/roundup/templates/responsive/html/*.html VERSION="`sed -ne \"/__version__/s/.*'\(.*\)'.*/\1/p\" \ ../build/lib/roundup/__init__.py`"; \ ${XGETTEXT} -j -w 80 -F \ --package-name=Roundup \ --package-version=$$VERSION \ --msgid-bugs-address=roundup-devel@lists.sourceforge.net \ --copyright-holder="See Roundup README.txt" \ -o $(TEMPLATE) $(SOURCES) pytest local_install: dist for file in $(MO_FILES); do \ lang=`basename $$file .mo`; \ mkdir -p locale/$$lang/LC_MESSAGES; \ cp $$file locale/$$lang/LC_MESSAGES/roundup.mo; \ done # helps to check template file before check in diff: hg cat roundup.pot | diff -u -I '^\#: \.\./roundup.*$$' \ -I '^#:\s*:[0-9]*.*$$' \ - roundup.pot || exit 0 potest: for file in $(PO_FILES); do \ ${MSGFMT} -cv $$file; \ done %.po: $(TEMPLATE) ${MSGMERGE} -U --suffix=.bak $@ $< %.mo: %.po ${MSGFMT} --statistics -o $@ $< roundup.pot: template
