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