X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=po%2Fautomake.mk;h=81c659c14504175ebeb0e2f61a084e96f38c5076;hb=cee6f0eb54144da7034566fa1bcdcee22337ae6a;hp=cfb186ab8c2cb5cd97eb2056582eeb143107a6e4;hpb=8180c5dd1591446174c0753ee960921786113403;p=pspp diff --git a/po/automake.mk b/po/automake.mk index cfb186ab8c..81c659c145 100644 --- a/po/automake.mk +++ b/po/automake.mk @@ -1,19 +1,19 @@ # PSPP - a program for statistical analysis. -# Copyright (C) 2017 Free Software Foundation, Inc. -# +# Copyright (C) 2017, 2020, 2021 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 @@ -39,11 +39,11 @@ POFILES = \ po/uk.po \ po/zh_CN.po -LOCALPOFILES = po/cs.po po/en_GB.po +LOCALPOFILES = po/cs.po POTFILE=po/$(DOMAIN).pot -TRANSLATABLE_FILES = $(DIST_SOURCES) $(all_q_sources) +TRANSLATABLE_FILES = $(DIST_SOURCES) XGETTEXT_OPTIONS = \ --copyright-holder="$(COPYRIGHT_HOLDER)" \ @@ -51,24 +51,31 @@ XGETTEXT_OPTIONS = \ --package-version=$(VERSION) \ --msgid-bugs-address=$(MSGID_BUGS_ADDRESS) \ --from-code=UTF-8 \ - --add-comments='TRANSLATORS:' + --add-comments='TRANSLATORS:' \ + --directory=$(top_srcdir) -$(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 $@,tmp - $(AM_V_at)$(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS) -j $(UI_FILES) --language=glade -o $@,tmp - $(AM_V_at)$(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS) -j src/ui/gui/gen-dot-desktop.sh --language=shell --keyword=TRANSLATE -o $@,tmp - $(AM_V_at)$(SED) -e '/^"POT-Creation-Date: .*/d' $@,tmp > $@ +ALL_TRANSLATABLE_FILES = \ + $(TRANSLATABLE_FILES) \ + $(UI_FILES) \ + doc/org.gnu.pspp.metainfo.xml.in \ + doc/org.gnu.pspp.desktop.in -$(LOCALPOFILED) $(POFILES): $(POTFILE) - $(AM_V_GEN)$(MSGMERGE) --quiet $(top_srcdir)/$@ $? -o $@,tmp +$(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)test -z "$(UI_FILES)" || $(XGETTEXT) $(XGETTEXT_OPTIONS) -j $(UI_FILES) --language=Glade -o $@,tmp + $(AM_V_at)$(XGETTEXT) $(XGETTEXT_OPTIONS) -j doc/org.gnu.pspp.metainfo.xml.in -o $@,tmp + $(AM_V_at)$(XGETTEXT) $(XGETTEXT_OPTIONS) -j doc/org.gnu.pspp.desktop.in -o $@,tmp + $(AM_V_at)mv $@,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 $@,tmp ; \ - msgcat --use-first $(top_srcdir)/$@,aux $@,tmp -o $@,tmp; \ + 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 - mv $@,tmp2 $@ + $(MSGFMT) -c $@,tmp -o - > /dev/null + mv $@,tmp $@ SUFFIXES += .po .gmo .po.gmo: @@ -87,17 +94,19 @@ install-data-hook: $(GMOFILES) $(INSTALL_DATA) $$f $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES/$(DOMAIN).mo ; \ done -uninstall-hook: +uninstall-hook: uninstall-gmofiles +uninstall-gmofiles: for f in $(GMOFILES); do \ lang=`echo $$f | $(SED) -e 's%po/\(.*\)\.gmo%\1%' ` ; \ rm -f $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES/$(DOMAIN).mo ; \ done - +.PHONY: uninstall-gmofiles EXTRA_DIST += \ $(LOCALPOFILES) \ $(POFILES) \ $(POTFILE) \ + po/LINGUAS \ po/ChangeLog \ po/cs.po,aux @@ -112,6 +121,17 @@ po_CLEAN: fi CLEAN_LOCAL += po_CLEAN -RSYNC = rsync +# 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. +# +# You can update just one .po file with, e.g.: +# make po-update POFILES=po/uk.po +PHONY += po-update po-update: - $(RSYNC) -Lrtvz translationproject.org::tp/latest/pspp/ $(srcdir)/po + for p in $(POFILES); do \ + wget --no-use-server-timestamps -O $$p,tmp \ + https://translationproject.org/latest/pspp/`basename $$p` ; \ + mv $$p,tmp ${top_srcdir}/$$p; \ + done + $(RM) $(POTFILE)