Update all translations using "make po-update".
[pspp] / po / automake.mk
1 include $(top_srcdir)/po/Makevars
2
3 XGETTEXT=xgettext
4 MSGMERGE=msgmerge
5 MSGFMT=msgfmt
6
7 POFILES = \
8         po/ca.po \
9         po/de.po \
10         po/el.po \
11         po/es.po \
12         po/fr.po \
13         po/gl.po \
14         po/hu.po \
15         po/ja.po \
16         po/lt.po \
17         po/nl.po \
18         po/pl.po \
19         po/pt_BR.po \
20         po/ru.po \
21         po/sl.po \
22         po/tr.po \
23         po/uk.po \
24         po/zh_CN.po
25
26 POTFILE=po/$(DOMAIN).pot
27
28 TRANSLATABLE_FILES = $(DIST_SOURCES) $(all_q_sources)
29
30 XGETTEXT_OPTIONS = \
31         --copyright-holder="$(COPYRIGHT_HOLDER)" \
32         --package-name=$(PACKAGE) \
33         --package-version=$(VERSION) \
34         --msgid-bugs-address=$(MSGID_BUGS_ADDRESS) \
35         --from-code=UTF-8 \
36         --add-comments='TRANSLATORS:'
37
38 $(POTFILE): $(TRANSLATABLE_FILES) $(UI_FILES) src/ui/gui/gen-dot-desktop.sh
39         @$(MKDIR_P) po
40         $(AM_V_GEN)$(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS)    $(TRANSLATABLE_FILES) --language=C --keyword=_ --keyword=N_ -o $@,tmp
41         $(AM_V_at)$(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS) -j $(UI_FILES) --language=glade -o $@,tmp
42         $(AM_V_at)$(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS) -j src/ui/gui/gen-dot-desktop.sh --language=shell --keyword=TRANSLATE -o $@,tmp
43         $(AM_V_at)$(SED) -e '/^"POT-Creation-Date: .*/d' $@,tmp > $@
44
45 $(POFILES): $(POTFILE)
46         $(AM_V_GEN)$(MSGMERGE) --quiet $(top_srcdir)/$@ $? -o $@,tmp
47         $(AM_V_at)if test -e $(top_srcdir)/$@,aux ; then \
48                  touch $@,tmp ; \
49                  msgcat --use-first $(top_srcdir)/$@,aux $@,tmp -o $@,tmp; \
50         fi ;
51         $(AM_V_at)$(SED) -e '/^"POT-Creation-Date: /d' $@,tmp > $@,tmp2
52         $(RM) $@,tmp
53         mv $@,tmp2 $@
54
55 SUFFIXES += .po .gmo
56 .po.gmo:
57         @$(MKDIR_P) `dirname $@`
58         $(AM_V_GEN)$(MSGFMT) $< -o $@
59
60
61 GMOFILES = $(POFILES:.po=.gmo)
62
63 ALL_LOCAL += $(GMOFILES)
64
65 install-data-hook: $(GMOFILES)
66         for f in $(GMOFILES); do \
67           lang=`echo $$f | $(SED) -e 's%po/\(.*\)\.gmo%\1%' ` ; \
68           $(MKDIR_P) $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES; \
69           $(INSTALL_DATA) $$f $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES/$(DOMAIN).mo ; \
70         done
71
72 uninstall-hook:
73         for f in $(GMOFILES); do \
74           lang=`echo $$f | $(SED) -e 's%po/\(.*\)\.gmo%\1%' ` ; \
75           rm -f $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES/$(DOMAIN).mo ; \
76         done
77
78
79 EXTRA_DIST += \
80         $(POFILES) \
81         $(POTFILE) \
82         po/ChangeLog \
83         po/cs.po,aux
84
85 CLEANFILES += $(GMOFILES) $(POTFILE)
86
87 # Clean $(POFILES) from build directory but not if that's the same as
88 # the source directory.
89 po_CLEAN:
90         @if test "$(srcdir)" != .; then \
91                 echo rm -f $(POFILES); \
92                 rm -f $(POFILES); \
93         fi
94 CLEAN_LOCAL += po_CLEAN
95
96 WGET = wget
97 po-update:
98         cd $(srcdir) && rm -f $(POFILES)
99         cd $(srcdir)/po && \
100         for po in `echo '$(POFILES)' | sed 's,po/,,g'`; do \
101            $(WGET) https://translationproject.org/latest/pspp/$$po; \
102         done