Mercurial > p > roundup > code
annotate locale/Makefile @ 7674:b8aef93178db
fix: quote variable substitution
To prevent issues with spaces in the variable.
The var should be a single word but it pays to be careful.
Courtesy of https://www.shellcheck.net/
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Tue, 24 Oct 2023 21:45:05 -0400 |
| parents | b54653a182a9 |
| children | ed0fce27fd75 |
| 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 | 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 |
|
6672
01216187a167
Testing translations in mailgw.py, update translations, i18n improved
John Rouillard <rouilj@ieee.org>
parents:
6618
diff
changeset
|
86 VERSION="`sed -ne \"/__version__/s/.*'\(.*\)'.*/\1/p\" \ |
|
7419
dce8f7799ecb
locale's 'make template' now works without having to do a build first.
John Rouillard <rouilj@ieee.org>
parents:
7402
diff
changeset
|
87 ../roundup/__init__.py`"; \ |
|
2330
8ae58eda9331
in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2306
diff
changeset
|
88 ${XGETTEXT} -j -w 80 -F \ |
|
6672
01216187a167
Testing translations in mailgw.py, update translations, i18n improved
John Rouillard <rouilj@ieee.org>
parents:
6618
diff
changeset
|
89 --package-name=Roundup \ |
|
01216187a167
Testing translations in mailgw.py, update translations, i18n improved
John Rouillard <rouilj@ieee.org>
parents:
6618
diff
changeset
|
90 --package-version=$$VERSION \ |
|
2330
8ae58eda9331
in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2306
diff
changeset
|
91 --msgid-bugs-address=roundup-devel@lists.sourceforge.net \ |
|
8ae58eda9331
in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2306
diff
changeset
|
92 --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
|
93 -o $(TEMPLATE) $(SOURCES) |
|
2330
8ae58eda9331
in addition to xpot...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2306
diff
changeset
|
94 |
