blob: 7110b45ef588764a9a78a59b167fcd9aa03430f6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
# Convenient makefile for managing translations.
# Prerequisites:
# - GNU gettext
# - Python
# Adding new translations
# -----------------------
# To start working on a new translation edit the POS=... line
# below. If you want to add for example a french translation, add
# fr.po.
# Then run "make po" to generate a fresh .po file from translatable
# strings in t_options.h. Now you can edit the new .po file (fr.po in
# the example above) to translate the strings. Please make sure that
# your editor encodes the file in UTF-8.
# Updating existing translations
# ------------------------------
# Run "make po" to update .po files with new translatable strings from
# t_options.h. Now you can edit the .po files you're interested
# in. Please make sure that your editor encodes the file in UTF-8.
# Updating options.h
# ------------------
# Finally run "make" to generate options.h from t_options.h with all
# translations. Now you can rebuild the drivers. Any common options
# used by the drivers will have option descriptions with the latest
# translations.
# Publishing translations
# -----------------------
# To get your translation(s) into Mesa CVS, please send me your
# <lang>.po file.
# More information:
# - info gettext
# The set of supported languages. Add languages as needed.
POS=ca.po de.po es.po nl.po fr.po sv.po
#
# Don't change anything below, unless you know what you're doing.
#
LANGS=$(POS:%.po=%)
MOS=$(POS:%.po=%.gmo)
POT=xmlpool.pot
.PHONY: all clean clean-local pot po mo
EXTRA_DIST = \
gen_xmlpool.py \
options.h \
t_options.h \
$(POS) \
$(MOS) \
SConscript \
meson.build \
LINGUAS \
POTFILES
BUILT_SOURCES = options.h
CLEANFILES = \
options.h
$(POS) \
$(MOS)
clean-local:
rm -f $(MOS)
# Default target options.h
LOCALEDIR := .
if REGEN_SOURCES
options.h: t_options.h $(MOS)
$(AM_V_GEN) $(PYTHON) $(PYTHON_FLAGS) $(srcdir)/gen_xmlpool.py \
--template $(srcdir)/t_options.h \
--output options.h \
--localedir $(LOCALEDIR) \
--languages $(LANGS)
endif
# Update .mo files from the corresponding .po files.
.po.gmo:
@mo="$@"; \
lang=$${mo%%/*}; \
echo "Updating ($$lang) $@ from $?."; \
msgfmt -o $@ $?
# Use this target to create or update .po files with new messages in
# driconf.py.
po: $(POT)
@for po in $(POS); do \
if [ -f $$po ]; then \
echo "Merging new strings from $(POT) into $@."; \
mv $$po $$po~; \
msgmerge -o $$po $$po~ $(POT); \
else \
echo "Initializing $$po from $(POT)."; \
msginit -i $(POT) -o $$po~ --locale=$*; \
sed -e 's/charset=.*\\n/charset=UTF-8\\n/' $$po~ > $$po; \
fi \
done
pot: $(POT)
# Extract message catalog from driconf.py.
$(POT): t_options.h
xgettext -L C --from-code utf-8 -o $(POT) t_options.h
|