annotate locale/Makefile @ 7800:2d4684e4702d

fix: enhancement to history command output and % template fix. Rather than using the key field, use the label field for descriptions. Call cls.labelprop(default_to_id=True) so it returns id rather than the first sorted property name. If labelprop() returns 'id' or 'title', we return nothing. 'id' means there is no label set and no properties named 'name' or 'title'. So have the caller do whatever it wants (prepend classname for example) when there is no human readable name. This prevents %(name)s%(key)s from producing: 23(23). Also don't accept the 'title' property. Titles can be too long. Arguably we could: '%(name)20s' to limit the title length. However without ellipses or something truncating the title might be confusing. So again pretend there is no human readable name.
author John Rouillard <rouilj@ieee.org>
date Tue, 12 Mar 2024 11:52:17 -0400
parents 8bdf0484215c
children 8824c81cc431
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2330
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
1 # Extract translatable strings from Roundup sources,
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
2 # update and compile all existing translations
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
3
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
4 # tool locations
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
5 XPOT ?= xpot
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
6 MSGFMT ?= msgfmt
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
7 MSGMERGE ?= msgmerge
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
8 XGETTEXT ?= xgettext
6609
b6452b669720 Updates, python3, hg diff, add target doc, add pytest target
John Rouillard <rouilj@ieee.org>
parents: 6483
diff changeset
9 PYTHON ?= python3
2330
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
10
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
11 TEMPLATE=roundup.pot
2306
1421b19cd61b build message template file
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
12
4094
5a9631828e33 update message template file building:
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 3761
diff changeset
13 PACKAGES=$(shell find ../roundup ../share/roundup/templates -name '*.py' \
3761
800bc51a9c8e add template directories to the list of Python packages for message extraction
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 3593
diff changeset
14 | sed -e 's,/[^/]*$$,,' | sort | uniq)
2330
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
15 SOURCES=$(PACKAGES:=/*.py)
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
16 PO_FILES=$(wildcard *.po)
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
17 MO_FILES=$(PO_FILES:.po=.mo)
7419
dce8f7799ecb locale's 'make template' now works without having to do a build first.
John Rouillard <rouilj@ieee.org>
parents: 7402
diff changeset
18 RUN_PYTHON=PYTHONPATH=.. $(PYTHON) -O
2330
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
19
2455
ece6ed48dd3d by default, build binary message catalogs only...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2384
diff changeset
20 all: dist
ece6ed48dd3d by default, build binary message catalogs only...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2384
diff changeset
21
ece6ed48dd3d by default, build binary message catalogs only...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2384
diff changeset
22 help:
ece6ed48dd3d by default, build binary message catalogs only...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2384
diff changeset
23 @echo "$(MAKE) - build MO files. Run this before sdist"
6618
ebd8f962fbf1 Fix make help. Missing close quotes.
John Rouillard <rouilj@ieee.org>
parents: 6609
diff changeset
24 @echo "$(MAKE) dist - same as above"
2455
ece6ed48dd3d by default, build binary message catalogs only...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2384
diff changeset
25 @echo "$(MAKE) template - update message template from sources"
7422
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
26 @echo "$(MAKE) merge - merge template into *.po files"
6609
b6452b669720 Updates, python3, hg diff, add target doc, add pytest target
John Rouillard <rouilj@ieee.org>
parents: 6483
diff changeset
27 @echo "$(MAKE) diff - see template differences in vi"
7052
4b6a6b794dfa Fix errors in po files.
John Rouillard <rouilj@ieee.org>
parents: 6672
diff changeset
28 @echo "$(MAKE) potest - check .po files for errors"
6618
ebd8f962fbf1 Fix make help. Missing close quotes.
John Rouillard <rouilj@ieee.org>
parents: 6609
diff changeset
29 @echo "$(MAKE) pytest - create locale files to run pytest"
2455
ece6ed48dd3d by default, build binary message catalogs only...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2384
diff changeset
30 @echo "$(MAKE) locale.po - update message file from template"
ece6ed48dd3d by default, build binary message catalogs only...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2384
diff changeset
31 @echo "$(MAKE) locale.mo - compile individual message file"
6618
ebd8f962fbf1 Fix make help. Missing close quotes.
John Rouillard <rouilj@ieee.org>
parents: 6609
diff changeset
32 @echo "$(MAKE) help - this text"
7422
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
33 @echo ""
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
34 @echo "Running make dist is the same as: make template merge dist"
2330
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
35
2455
ece6ed48dd3d by default, build binary message catalogs only...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2384
diff changeset
36 # This will rebuild all MO files without updating their corresponding PO
ece6ed48dd3d by default, build binary message catalogs only...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2384
diff changeset
37 # files first. Run before creating Roundup distribution (hence the name).
ece6ed48dd3d by default, build binary message catalogs only...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2384
diff changeset
38 # PO files should be updated by their translators only, automatic update
ece6ed48dd3d by default, build binary message catalogs only...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2384
diff changeset
39 # adds unwanted fuzzy labels.
7422
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
40 dist: $(MO_FILES)
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
41
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
42 template: roundup.pot
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
43
7424
b54653a182a9 make local_install doesn't regenerate template/po files.
John Rouillard <rouilj@ieee.org>
parents: 7422
diff changeset
44 pytest local_install:
b54653a182a9 make local_install doesn't regenerate template/po files.
John Rouillard <rouilj@ieee.org>
parents: 7422
diff changeset
45 for file in $(PO_FILES); do \
b54653a182a9 make local_install doesn't regenerate template/po files.
John Rouillard <rouilj@ieee.org>
parents: 7422
diff changeset
46 ${MSGFMT} -o `basename $$file .po`.mo $$file; \
b54653a182a9 make local_install doesn't regenerate template/po files.
John Rouillard <rouilj@ieee.org>
parents: 7422
diff changeset
47 done
7422
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
48 for file in $(MO_FILES); do \
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
49 lang=`basename $$file .mo`; \
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
50 mkdir -p locale/$$lang/LC_MESSAGES; \
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
51 cp $$file locale/$$lang/LC_MESSAGES/roundup.mo; \
2455
ece6ed48dd3d by default, build binary message catalogs only...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2384
diff changeset
52 done
2306
1421b19cd61b build message template file
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
53
7422
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
54 # helps to check template file before check in
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
55 diff:
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
56 hg cat roundup.pot | diff -u -I '^\#: \.\./roundup.*$$' \
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
57 -I '^#:\s*:[0-9]*.*$$' \
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
58 - roundup.pot || exit 0
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
59 merge: $(PO_FILES)
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
60
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
61 potest:
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
62 sh -c 'for file in $(PO_FILES); do \
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
63 ${MSGFMT} -cv --statistics $$file; \
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
64 done' 2>&1 | sort -k 2,2n
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
65
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
66 %.po: $(TEMPLATE)
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
67 @echo "Rebuild $@"
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
68 @${MSGMERGE} -U --suffix=.bak $@ $<
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
69 @# update Project-Id-Version to match roundup.pot
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
70 @VER="`sed -ne \"/__version__/s/.*'\(.*\)'.*/\1/p\" \
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
71 ../roundup/__init__.py`"; \
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
72 sed -i -e \
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
73 "s/^\(\"Project-Id-Version: Roundup\).*/\1 $${VER}\\\\n\"/" $@
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
74
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
75 %.mo: %.po
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
76 ${MSGFMT} -o $@ $<
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
77
7d1df030b22f Add merge action; make template depend on source files
John Rouillard <rouilj@ieee.org>
parents: 7421
diff changeset
78 roundup.pot: $(SOURCES) $(TEMPLATES)
7420
eef12ab01f51 filter output of xpot. decorators not recognized
John Rouillard <rouilj@ieee.org>
parents: 7419
diff changeset
79 ${XPOT} -n -o $(TEMPLATE) $(SOURCES) 2>&1 | sed -e "/: Unexpected in Python source: #64 \`@'/d"
6222
2c0f7f16ce04 Check that build link is present otherwise abort.
John Rouillard <rouilj@ieee.org>
parents: 4570
diff changeset
80
2459
fd04f41ab988 fix: 'template' target was meant to make 'roundup.pot' file
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2455
diff changeset
81 ${RUN_PYTHON} ../roundup/cgi/TAL/talgettext.py -u $(TEMPLATE) \
4094
5a9631828e33 update message template file building:
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 3761
diff changeset
82 ../share/roundup/templates/classic/html/*.html \
6405
a21b574554c3 extract translatable strings from devel and responsive templates
John Rouillard <rouilj@ieee.org>
parents: 6222
diff changeset
83 ../share/roundup/templates/devel/html/*.html \
a21b574554c3 extract translatable strings from devel and responsive templates
John Rouillard <rouilj@ieee.org>
parents: 6222
diff changeset
84 ../share/roundup/templates/minimal/html/*.html \
a21b574554c3 extract translatable strings from devel and responsive templates
John Rouillard <rouilj@ieee.org>
parents: 6222
diff changeset
85 ../share/roundup/templates/responsive/html/*.html
7792
ed0fce27fd75 build: replace verstion extraction via set to use python
John Rouillard <rouilj@ieee.org>
parents: 7424
diff changeset
86 VERSION="`${RUN_PYTHON} -c 'from roundup import __version__; \
ed0fce27fd75 build: replace verstion extraction via set to use python
John Rouillard <rouilj@ieee.org>
parents: 7424
diff changeset
87 print(__version__)';`"; \
2330
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
88 ${XGETTEXT} -j -w 80 -F \
7797
8bdf0484215c Summary: feat: roundup-admin history command has human interpretable output
John Rouillard <rouilj@ieee.org>
parents: 7792
diff changeset
89 --add-comments=".Hint " \
6672
01216187a167 Testing translations in mailgw.py, update translations, i18n improved
John Rouillard <rouilj@ieee.org>
parents: 6618
diff changeset
90 --package-name=Roundup \
01216187a167 Testing translations in mailgw.py, update translations, i18n improved
John Rouillard <rouilj@ieee.org>
parents: 6618
diff changeset
91 --package-version=$$VERSION \
2330
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
92 --msgid-bugs-address=roundup-devel@lists.sourceforge.net \
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
93 --copyright-holder="See Roundup README.txt" \
2459
fd04f41ab988 fix: 'template' target was meant to make 'roundup.pot' file
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2455
diff changeset
94 -o $(TEMPLATE) $(SOURCES)
2330
8ae58eda9331 in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2306
diff changeset
95

Roundup Issue Tracker: http://roundup-tracker.org/