From 7443ce7407a7194a9d9487f95f940b4b9adf5d82 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Mon, 19 Feb 2018 23:24:30 +0100 Subject: [PATCH] doc: Allow documentation to be translated. po/doc/local.mk: New file. Makefile.am: Include it. doc/local.mk (info_TEXINFOS, BUILT_SOURCES, EXTRA_DIST, MAINTAINERCLEANFILES): Add guix.fr.texi (rules): New rule to build localized texi files .gitignore: Ignore doc/version.*.texi --- .gitignore | 1 + Makefile.am | 3 +++ doc/local.mk | 21 +++++++++++++++++---- po/doc/local.mk | 23 +++++++++++++++++++++++ 4 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 po/doc/local.mk diff --git a/.gitignore b/.gitignore index 4a110fb1f..f4119bc28 100644 --- a/.gitignore +++ b/.gitignore @@ -47,6 +47,7 @@ /doc/os-config-desktop.texi /doc/stamp-vti /doc/version.texi +/doc/version.*.texi /etc/guix-daemon.cil /etc/guix-daemon.conf /etc/guix-daemon.service diff --git a/Makefile.am b/Makefile.am index e2c940ca8..856075e7a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -41,6 +41,8 @@ scripts/guix: scripts/guix.in Makefile $(AM_V_GEN)$(do_subst) < "$(srcdir)/address@hidden" > "address@hidden" $(AM_V_at)chmod a+x,a-w "address@hidden" && mv -f "address@hidden" "$@" +doc/guix.fr.info: doc/guix.fr.texi + nodist_noinst_SCRIPTS = \ pre-inst-env \ test-env @@ -535,6 +537,7 @@ SUBDIRS = po/guix po/packages BUILT_SOURCES = include doc/local.mk +include po/doc/local.mk if BUILD_DAEMON diff --git a/doc/local.mk b/doc/local.mk index 397ade050..f8aa31d5a 100644 --- a/doc/local.mk +++ b/doc/local.mk @@ -20,7 +20,8 @@ # You should have received a copy of the GNU General Public License # along with GNU Guix. If not, see . -info_TEXINFOS = %D%/guix.texi +info_TEXINFOS = %D%/guix.texi \ + %D%/guix.fr.texi %C%_guix_TEXINFOS = \ %D%/contributing.texi \ @@ -51,10 +52,22 @@ OS_CONFIG_EXAMPLES_TEXI = \ %D%/os-config-desktop.texi \ %D%/os-config-lightweight-desktop.texi +TRANSLATED_INFO = \ + %D%/guix.fr.texi + # Bundle this file so that makeinfo finds it in out-of-source-tree builds. -BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI) -EXTRA_DIST += $(OS_CONFIG_EXAMPLES_TEXI) -MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI) +BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO) +EXTRA_DIST += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO) +MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO) + +PO4A_PARAMS:=-M UTF-8 -L UTF-8 #master and localized encoding +PO4A_PARAMS+=-k 0 # produce an output even if the translation is not complete +PO4A_PARAMS+=-f texinfo # texinfo format + +$(srcdir)/%D%/guix.%.texi: %D%/guix.texi po/doc/%.po + po4a-translate $(PO4A_PARAMS) -m $< -p $(word 2,$^) -l address@hidden + sed -i 's|guix\.info|guix.fr.info|' address@hidden + mv address@hidden $@ %D%/os-config-%.texi: gnu/system/examples/%.tmpl $(AM_V_GEN)$(MKDIR_P) "`dirname address@hidden"; \ diff --git a/po/doc/local.mk b/po/doc/local.mk new file mode 100644 index 000000000..84d43123d --- /dev/null +++ b/po/doc/local.mk @@ -0,0 +1,23 @@ +# GNU Guix --- Functional package management for GNU +# Copyright © 2018 Julien Lepiller +# +# This file is part of GNU Guix. +# +# GNU Guix 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. +# +# GNU Guix 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 GNU Guix. If not, see . + +EXTRA_DIST += \ + %D%/fr.po + +$(srcdir)/po/doc/%.po: doc/guix.texi + po4a-updatepo -M UTF-8 -f texinfo -m $< -p $@ -- 2.16.1