-
Notifications
You must be signed in to change notification settings - Fork 6
/
Rules-po.mak
44 lines (34 loc) · 1.52 KB
/
Rules-po.mak
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
plugindir = $(libdir)/enigma2/python/Plugins/$(CATEGORY)/$(PLUGIN)
LANGS = ar bg ca cs da de el en en_GB es et fa fi fr fy he hr hu is it lt lv nl no nb pl pt pt_BR ro ru sv sk sl sr th tr uk
LANGMO = $(LANGS:=.mo)
LANGPO = $(LANGS:=.po)
# the TRANSLATORS: allows putting translation comments before the to-be-translated line.
$(PLUGIN)-py.pot: $(srcdir)/../src/*.py
$(XGETTEXT) --no-wrap -L python --from-code=UTF-8 --add-comments="TRANSLATORS:" -d $(PLUGIN) -s -o $@ $^
$(PLUGIN)-xml.pot: $(top_srcdir)/xml2po.py $(srcdir)/../src/*.xml
$(PYTHON) $^ > $@
$(PLUGIN).pot: $(PLUGIN)-py.pot $(PLUGIN)-xml.pot
sed --in-place $(PLUGIN)-py.pot --expression=s/CHARSET/UTF-8/
sed --in-place $(PLUGIN)-xml.pot --expression=s/CHARSET/UTF-8/
cat $^ | $(MSGUNIQ) --no-wrap --no-location -o $@
%.po: $(PLUGIN).pot
if [ -f $@ ]; then \
$(MSGMERGE) --backup=none --no-wrap --no-location -s -N -U $@ $< && touch $@; \
else \
$(MSGINIT) -l $@ -o $@ -i $< --no-translator; \
fi
.po.mo:
$(MSGFMT) -o $@ $<
BUILT_SOURCES = $(LANGMO)
CLEANFILES = $(LANGMO) $(PLUGIN)-py.pot $(PLUGIN)-xml.pot $(PLUGIN).pot
dist-hook: $(LANGPO)
install-data-local: $(LANGMO)
for lang in $(LANGS); do \
$(mkinstalldirs) $(DESTDIR)$(plugindir)/locale/$$lang/LC_MESSAGES; \
$(INSTALL_DATA) $$lang.mo $(DESTDIR)$(plugindir)/locale/$$lang/LC_MESSAGES/$(PLUGIN).mo; \
$(INSTALL_DATA) $$lang.po $(DESTDIR)$(plugindir)/locale/$$lang.po; \
done
uninstall-local:
for lang in $(LANGS); do \
$(RM) $(DESTDIR)$(plugindir)/locale/$$lang/LC_MESSAGES/$(PLUGIN).mo; \
done