X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=po%2Fautomake.mk;h=072efea3115ef5ea17529b72325786beee064336;hb=77cedca74aa0b59436696e8c26cac7c9448d11e9;hp=60403f20171581ad2d8f56e4b011e95d1188e2ac;hpb=76a3cf1c00e1dbd24075e7fbf0e1adffcdadbbb0;p=pspp diff --git a/po/automake.mk b/po/automake.mk index 60403f2017..072efea311 100644 --- a/po/automake.mk +++ b/po/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017, 2020 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# include $(top_srcdir)/po/Makevars XGETTEXT=xgettext @@ -6,20 +22,24 @@ MSGFMT=msgfmt POFILES = \ po/ca.po \ - po/cs.po \ po/de.po \ - po/en_GB.po \ + po/el.po \ po/es.po \ po/fr.po \ po/gl.po \ + po/hu.po \ po/ja.po \ po/lt.po \ po/nl.po \ po/pl.po \ po/pt_BR.po \ + po/ru.po \ po/sl.po \ po/tr.po \ - po/uk.po + po/uk.po \ + po/zh_CN.po + +LOCALPOFILES = po/cs.po POTFILE=po/$(DOMAIN).pot @@ -31,23 +51,34 @@ XGETTEXT_OPTIONS = \ --package-version=$(VERSION) \ --msgid-bugs-address=$(MSGID_BUGS_ADDRESS) \ --from-code=UTF-8 \ - --add-comments='TRANSLATORS:' - -$(POTFILE): $(TRANSLATABLE_FILES) $(UI_FILES) src/ui/gui/gen-dot-desktop.sh - @$(MKDIR_P) po - $(AM_V_GEN)$(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS) $(TRANSLATABLE_FILES) --language=C --keyword=_ --keyword=N_ -o $@ - $(AM_V_at)$(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS) -j $(UI_FILES) --language=glade -o $@ - $(AM_V_at)$(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS) -j src/ui/gui/gen-dot-desktop.sh --language=shell --keyword=TRANSLATE -o $@ + --add-comments='TRANSLATORS:' \ + --directory=$(top_srcdir) +ALL_TRANSLATABLE_FILES = \ + $(TRANSLATABLE_FILES) \ + $(UI_FILES) \ + src/ui/gui/org.fsf.pspp.metainfo.xml.in \ + src/ui/gui/org.fsf.pspp.desktop.in -$(POFILES): $(POTFILE) - $(AM_V_GEN)$(MSGMERGE) --quiet $(top_srcdir)/$@ $? -o $@ +$(POTFILE): $(ALL_TRANSLATABLE_FILES) Makefile + @$(MKDIR_P) po + $(AM_V_GEN)$(XGETTEXT) $(XGETTEXT_OPTIONS) $(TRANSLATABLE_FILES) --language=C --keyword=_ --keyword=N_ -o $@,tmp + $(AM_V_at)$(XGETTEXT) $(XGETTEXT_OPTIONS) -j $(UI_FILES) --language=Glade -o $@,tmp + $(AM_V_at)$(XGETTEXT) $(XGETTEXT_OPTIONS) -j src/ui/gui/org.fsf.pspp.metainfo.xml.in -o $@,tmp + $(AM_V_at)$(XGETTEXT) $(XGETTEXT_OPTIONS) -j src/ui/gui/org.fsf.pspp.desktop.in -o $@,tmp + $(AM_V_at)$(SED) -e '/^"POT-Creation-Date: .*/d' $@,tmp > $@ + rm -f $@,tmp + +$(LOCALPOFILES) $(POFILES): $(POTFILE) + $(AM_V_GEN)$(MSGMERGE) --previous --quiet $(top_srcdir)/$@ $? -o $@,tmp $(AM_V_at)if test -e $(top_srcdir)/$@,aux ; then \ - touch $@ ; \ - msgcat --use-first $(top_srcdir)/$@,aux $@ -o $@; \ + touch $@,tmp ; \ + msgcat --use-first $(top_srcdir)/$@,aux $@,tmp -o $@,tmp; \ fi ; - - + $(AM_V_at)$(SED) -e '/^"POT-Creation-Date: /d' $@,tmp > $@,tmp2 + $(RM) $@,tmp + $(MSGFMT) -c $@,tmp2 -o - > /dev/null + mv $@,tmp2 $@ SUFFIXES += .po .gmo .po.gmo: @@ -55,27 +86,29 @@ SUFFIXES += .po .gmo $(AM_V_GEN)$(MSGFMT) $< -o $@ -GMOFILES = $(POFILES:.po=.gmo) +GMOFILES = $(LOCALPOFILES:.po=.gmo) $(POFILES:.po=.gmo) ALL_LOCAL += $(GMOFILES) install-data-hook: $(GMOFILES) for f in $(GMOFILES); do \ - lang=`echo $$f | sed -e 's%po/\(.*\)\.gmo%\1%' ` ; \ + lang=`echo $$f | $(SED) -e 's%po/\(.*\)\.gmo%\1%' ` ; \ $(MKDIR_P) $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES; \ $(INSTALL_DATA) $$f $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES/$(DOMAIN).mo ; \ done uninstall-hook: for f in $(GMOFILES); do \ - lang=`echo $$f | sed -e 's%po/\(.*\)\.gmo%\1%' ` ; \ + lang=`echo $$f | $(SED) -e 's%po/\(.*\)\.gmo%\1%' ` ; \ rm -f $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES/$(DOMAIN).mo ; \ done EXTRA_DIST += \ + $(LOCALPOFILES) \ $(POFILES) \ $(POTFILE) \ + po/LINGUAS \ po/ChangeLog \ po/cs.po,aux @@ -85,7 +118,20 @@ CLEANFILES += $(GMOFILES) $(POTFILE) # the source directory. po_CLEAN: @if test "$(srcdir)" != .; then \ - echo rm -f $(POFILES); \ - rm -f $(POFILES); \ + echo rm -f $(LOCALPOFILES) $(POFILES); \ + rm -f $(LOCALPOFILES) $(POFILES); \ fi CLEAN_LOCAL += po_CLEAN + +# Download the po files from http://translationproject.org +# The final action to this rule is to remove the .pot file. This +# is because the po files must be re-merged against an updated version of it. +PHONY += po-update +po-update: $(POFILES) + for p in $^; do \ + wget --recursive --level=1 --accept=po --no-directories --no-use-server-timestamps \ + --directory-prefix=po -O ${top_srcdir}/$$p,tmp \ + https://translationproject.org/latest/pspp/`basename $$p` ; \ + mv ${top_srcdir}/$$p,tmp ${top_srcdir}/$$p; \ + done + $(RM) $(POTFILE)