X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=po%2Fautomake.mk;h=5d207682c3d3fe8079c5ebc179eb816917ae8e17;hb=refs%2Fheads%2Fctables10;hp=7c349f0af88f1da6e757504f78e36fdee6f8b978;hpb=52e144652645cab108fb2db0a970f1ace2cbf2ea;p=pspp diff --git a/po/automake.mk b/po/automake.mk index 7c349f0af8..5d207682c3 100644 --- a/po/automake.mk +++ b/po/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# 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 @@ -23,7 +39,7 @@ POFILES = \ po/uk.po \ po/zh_CN.po -LOCALPOFILES = po/cs.po po/en_GB.po +LOCALPOFILES = po/cs.po POTFILE=po/$(DOMAIN).pot @@ -35,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.fsf.pspp.metainfo.xml.in \ + doc/org.fsf.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.fsf.pspp.metainfo.xml.in -o $@,tmp + $(AM_V_at)$(XGETTEXT) $(XGETTEXT_OPTIONS) -j doc/org.fsf.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: @@ -71,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 @@ -96,10 +121,17 @@ po_CLEAN: fi CLEAN_LOCAL += po_CLEAN -WGET = wget +# 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: - cd $(srcdir) && rm -f $(POFILES) - cd $(srcdir)/po && \ - for po in `echo '$(POFILES)' | sed 's,po/,,g'`; do \ - $(WGET) https://translationproject.org/latest/pspp/$$po; \ - done + 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)