From 1cd07131ecfb487064814a2c315e89b38066d73c Mon Sep 17 00:00:00 2001 From: Didier Raboud Date: Tue, 9 Aug 2016 18:11:50 +0200 Subject: po4a infrastructure and translations for manpages. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Author: Nicolas François , Helge Kreutzmann Origin: vendor Bug-Debian: http://bugs.debian.org/478597 Patch-Name: manpage-translations.patch --- man/Makefile | 15 ++- man/Makefile.l10n | 246 ++++++++++++++++++++++++++++++++++++++++++++++ man/de/Makefile | 7 ++ man/fr/Makefile | 7 ++ 4 files changed, 274 insertions(+), 1 deletion(-) create mode 100644 man/Makefile.l10n create mode 100644 man/de/Makefile create mode 100644 man/fr/Makefile diff --git a/man/Makefile b/man/Makefile index 3c3270ade..410c892c7 100644 --- a/man/Makefile +++ b/man/Makefile @@ -66,12 +66,18 @@ MAN8 = cupsaccept.$(MAN8EXT) \ lpmove.$(MAN8EXT) \ lpc.$(MAN8EXT) +LANGUAGES=de fr # # Make everything... # -all: $(MAN1) $(MAN5) $(MAN7) $(MAN8) +all: $(MAN1) $(MAN5) $(MAN7) $(MAN8) translations + +translations: + # Update the translations and build the translated material + po4a --previous ../debian/manpage-po4a/cups.cfg + for lang in $(LANGUAGES); do $(MAKE) -C $$lang; done # @@ -95,6 +101,11 @@ unittests: clean: $(RM) mantohtml mantohtml.o $(RM) $(MAN1) $(MAN5) $(MAN7) $(MAN8) + for lang in $(LANGUAGES); do $(MAKE) -C $$lang clean; done + # Make sure the PO files are updated and remove generated + # translations. + po4a --previous --rm-translations ../debian/manpage-po4a/cups.cfg + $(RM) ../debian/manpage-po4a/po/cups.pot # @@ -146,6 +157,7 @@ install-data: all $(RM) $(AMANDIR)/man$(MAN8DIR)/$$file.$(MAN8EXT); \ $(LN) cupsd-helper.$(MAN8EXT) $(AMANDIR)/man$(MAN8DIR)/$$file.$(MAN8EXT); \ done + for lang in $(LANGUAGES); do $(MAKE) -C $$lang install; done # @@ -194,6 +206,7 @@ uninstall: $(RM) $(AMANDIR)/man$(MAN8DIR)/reject.$(MAN8EXT) $(RM) $(AMANDIR)/man$(MAN8DIR)/cupsdisable.$(MAN8EXT) -$(RMDIR) $(AMANDIR)/man$(MAN8DIR) + for lang in $(LANGUAGES); do $(MAKE) -C $$lang uninstall; done # diff --git a/man/Makefile.l10n b/man/Makefile.l10n new file mode 100644 index 000000000..db18e023a --- /dev/null +++ b/man/Makefile.l10n @@ -0,0 +1,246 @@ +# +# Man page makefile for CUPS. +# +# Copyright 2007-2017 by Apple Inc. +# Copyright 1993-2006 by Easy Software Products. +# +# These coded instructions, statements, and computer programs are the +# property of Apple Inc. and are protected by Federal copyright +# law. Distribution and use rights are outlined in the file "LICENSE.txt" +# which should have been included with this file. If this file is +# missing or damaged, see the license at "http://www.cups.org/". +# + +include ../../Makedefs + + +# +# Man pages... +# + +MAN1 = cancel.$(MAN1EXT) \ + cups.$(MAN1EXT) \ + cups-config.$(MAN1EXT) \ + cupstestdsc.$(MAN1EXT) \ + cupstestppd.$(MAN1EXT) \ + $(IPPFIND_MAN) \ + ipptool.$(MAN1EXT) \ + lp.$(MAN1EXT) \ + lpoptions.$(MAN1EXT) \ + lpq.$(MAN1EXT) \ + lprm.$(MAN1EXT) \ + lpr.$(MAN1EXT) \ + lpstat.$(MAN1EXT) \ + ppdc.$(MAN1EXT) \ + ppdhtml.$(MAN1EXT) \ + ppdi.$(MAN1EXT) \ + ppdmerge.$(MAN1EXT) \ + ppdpo.$(MAN1EXT) +MAN5 = classes.conf.$(MAN5EXT) \ + client.conf.$(MAN5EXT) \ + cups-files.conf.$(MAN5EXT) \ + cups-snmp.conf.$(MAN5EXT) \ + cupsd.conf.$(MAN5EXT) \ + cupsd-logs.$(MAN5EXT) \ + ipptoolfile.$(MAN5EXT) \ + mailto.conf.$(MAN5EXT) \ + mime.convs.$(MAN5EXT) \ + mime.types.$(MAN5EXT) \ + ppdcfile.$(MAN5EXT) \ + printers.conf.$(MAN5EXT) \ + subscriptions.conf.$(MAN5EXT) +MAN7 = backend.$(MAN7EXT) \ + filter.$(MAN7EXT) \ + notifier.$(MAN7EXT) +MAN8 = cupsaccept.$(MAN8EXT) \ + cupsaddsmb.$(MAN8EXT) \ + cupsctl.$(MAN8EXT) \ + cupsfilter.$(MAN8EXT) \ + cups-lpd.$(MAN8EXT) \ + cups-snmp.$(MAN8EXT) \ + cupsd.$(MAN8EXT) \ + cupsd-helper.$(MAN8EXT) \ + cupsenable.$(MAN8EXT) \ + lpadmin.$(MAN8EXT) \ + lpinfo.$(MAN8EXT) \ + lpmove.$(MAN8EXT) \ + lpc.$(MAN8EXT) + +# +# Make everything... +# + +all: manpages.gz html + +# Prepare all the existing manpages, and compress them. +# But do not fail if a manpage was not generated. +manpages.gz: manpages.gz-stamp +manpages.gz-stamp: + for file in $(MAN1) $(MAN5) $(MAN7) $(MAN8); do \ + $(MAKE) $$file || true; \ + done + touch $@ + +# +# Clean all config and object files... +# + +clean: + $(RM) mantohtml mantohtml.o + $(RM) $(MAN1) $(MAN5) $(MAN7) $(MAN8) + for file in $(MAN1); do \ + $(RM) ../../doc/help/man-`basename $$file .$(MAN1EXT)`.$(LANGUAGE).html; \ + done + for file in $(MAN5); do \ + $(RM) ../../doc/help/man-`basename $$file .$(MAN5EXT)`.$(LANGUAGE).html; \ + done + for file in $(MAN7); do \ + $(RM) ../../doc/help/man-`basename $$file .$(MAN7EXT)`.$(LANGUAGE).html; \ + done + for file in $(MAN8); do \ + $(RM) ../../doc/help/man-`basename $$file .$(MAN8EXT)`.$(LANGUAGE).html; \ + done + for file in *.man.in; do \ + $(RM) `basename $$file .in`; \ + done + $(RM) manpages.gz-stamp + + +# +# Dummy depend target... +# + +depend: + + +# +# Install all targets... +# + +MANDIR := $(MANDIR)/$(LANGUAGE) +AMANDIR := $(AMANDIR)/$(LANGUAGE) + +install: all install-data install-headers install-libs install-exec + + +# +# Install data files... +# + +install-data: all + $(INSTALL_DIR) -m 755 $(MANDIR)/man1 + for file in $(wildcard $(MAN1)); do \ + echo Installing $$file in $(MANDIR)/man1...; \ + $(INSTALL_MAN) $$file $(MANDIR)/man1; \ + done + $(INSTALL_DIR) -m 755 $(MANDIR)/man5 + for file in $(wildcard $(MAN5)); do \ + echo Installing $$file in $(MANDIR)/man5...; \ + $(INSTALL_MAN) $$file $(MANDIR)/man5; \ + done + $(INSTALL_DIR) -m 755 $(MANDIR)/man7 + for file in $(wildcard $(MAN7)); do \ + echo Installing $$file in $(MANDIR)/man7...; \ + $(INSTALL_MAN) $$file $(MANDIR)/man7; \ + done + $(INSTALL_DIR) -m 755 $(AMANDIR)/man$(MAN8DIR) + for file in $(wildcard $(MAN8)); do \ + echo Installing $$file in $(AMANDIR)/man$(MAN8DIR)...; \ + $(INSTALL_MAN) $$file $(AMANDIR)/man$(MAN8DIR); \ + done + for file in accept cupsreject reject; do \ + $(RM) $(AMANDIR)/man$(MAN8DIR)/$$file.$(MAN8EXT); \ + $(LN) cupsaccept.$(MAN8EXT) $(AMANDIR)/man$(MAN8DIR)/$$file.$(MAN8EXT); \ + done + $(RM) $(AMANDIR)/man$(MAN8DIR)/cupsdisable.$(MAN8EXT) + $(LN) cupsenable.$(MAN8EXT) $(AMANDIR)/man$(MAN8DIR)/cupsdisable.$(MAN8EXT) + for file in cups-deviced cups-driverd cups-exec; do \ + $(RM) $(AMANDIR)/man$(MAN8DIR)/$$file.$(MAN8EXT); \ + $(LN) cupsd-helper.$(MAN8EXT) $(AMANDIR)/man$(MAN8DIR)/$$file.$(MAN8EXT); \ + done + + +# +# Install programs... +# + +install-exec: + + +# +# Install headers... +# + +install-headers: + + +# +# Install libraries... +# + +install-libs: + + +# +# Uninstall files... +# + +uninstall: + for file in $(MAN1); do \ + $(RM) $(MANDIR)/man1/$$file; \ + done + -$(RMDIR) $(MANDIR)/man1 + for file in $(MAN5); do \ + $(RM) $(MANDIR)/man5/$$file; \ + done + -$(RMDIR) $(MANDIR)/man5 + for file in $(MAN7); do \ + $(RM) $(MANDIR)/man7/$$file; \ + done + -$(RMDIR) $(MANDIR)/man7 + for file in $(MAN8); do \ + $(RM) $(AMANDIR)/man$(MAN8DIR)/$$file; \ + done + $(RM) $(AMANDIR)/man$(MAN8DIR)/accept.$(MAN8EXT) + $(RM) $(AMANDIR)/man$(MAN8DIR)/cupsreject.$(MAN8EXT) + $(RM) $(AMANDIR)/man$(MAN8DIR)/reject.$(MAN8EXT) + $(RM) $(AMANDIR)/man$(MAN8DIR)/cupsdisable.$(MAN8EXT) + -$(RMDIR) $(AMANDIR)/man$(MAN8DIR) + + +# +# Make html versions of man pages... +# + +MANTOHTML = ../mantohtml +html: manpages.gz $(MANTOHTML) + echo Converting man pages to HTML... + for file in $(wildcard $(MAN1)); do \ + echo " $$file..."; \ + $(MANTOHTML) `basename $$file .$(MAN1EXT)`.man >../../doc/help/man-`basename $$file .$(MAN1EXT)`.$(LANGUAGE).html; \ + done + for file in $(wildcard $(MAN5)); do \ + echo " $$file..."; \ + $(MANTOHTML) `basename $$file .$(MAN5EXT)`.man >../../doc/help/man-`basename $$file .$(MAN5EXT)`.$(LANGUAGE).html; \ + done + for file in $(wildcard $(MAN7)); do \ + echo " $$file..."; \ + $(MANTOHTML) `basename $$file .$(MAN7EXT)`.man >../../doc/help/man-`basename $$file .$(MAN7EXT)`.$(LANGUAGE).html; \ + done + for file in $(wildcard $(MAN8)); do \ + echo " $$file..."; \ + $(MANTOHTML) `basename $$file .$(MAN8EXT)`.man >../../doc/help/man-`basename $$file .$(MAN8EXT)`.$(LANGUAGE).html; \ + done + +$(MANTOHTML): $(MANTOHTML).c + $(CC_FOR_BUILD) -o $@ $< + +.SUFFIXES: .man.in .man +# Keep the generated .man because they are needed for the html rule +.PRECIOUS: %.man + +.man.in.man: + sed -e 's:@CUPS_DATADIR@:$(DATADIR):' \ + -e 's:@CUPS_SERVERROOT@:$(SERVERROOT):' \ + -e 's:@CUPS_SERVERBIN@:$(SERVERBIN):' $< > $@ + diff --git a/man/de/Makefile b/man/de/Makefile new file mode 100644 index 000000000..7c237840e --- /dev/null +++ b/man/de/Makefile @@ -0,0 +1,7 @@ +# +# Man page makefile for the Common UNIX Printing System (CUPS). +# + +LANGUAGE=de + +include ../Makefile.l10n diff --git a/man/fr/Makefile b/man/fr/Makefile new file mode 100644 index 000000000..6a50e9348 --- /dev/null +++ b/man/fr/Makefile @@ -0,0 +1,7 @@ +# +# Man page makefile for the Common UNIX Printing System (CUPS). +# + +LANGUAGE=fr + +include ../Makefile.l10n