From: Julien Lepiller <julien@lepiller.eu>
To: guix-devel@gnu.org
Subject: Re: [WIP]: localize guix.texi
Date: Mon, 19 Feb 2018 23:45:03 +0100 [thread overview]
Message-ID: <20180219234503.4091f68f@lepiller.eu> (raw)
In-Reply-To: <20180219233437.4d709181@lepiller.eu>
[-- Attachment #1: Type: text/plain, Size: 912 bytes --]
Le Mon, 19 Feb 2018 23:34:37 +0100,
Julien Lepiller <julien@lepiller.eu> a écrit :
> Hi,
>
> here is my first attempt at localizing guix.texi. This patch adds
> guix.fr.texi, a localized version of the manual. It uses po4a to
> generate the .po file and use that same file to generate the localized
> manual.
>
> I had to include the guix.fr.texi in the commit because it is
> necessary that it exists in order to add it to info_TEXINFOS. This
> means that this version of guix now requires po4a and will always
> build the localized manuals in every available language. I don't
> really like that though.
>
> I had to add a rule in Makefile.am without which guix.fr.info wouldn't
> be built. Similar rules are required for generating the html and pdf
> versions.
>
> thoughts?
I forgot the patch, here it is. I removed guix.fr.texi and fr.po from
the patch as they are ~1MB each.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-doc-Allow-documentation-to-be-translated.patch --]
[-- Type: text/x-patch, Size: 4148 bytes --]
From 7443ce7407a7194a9d9487f95f940b4b9adf5d82 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
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)/$@.in" > "$@-t"
$(AM_V_at)chmod a+x,a-w "$@-t" && mv -f "$@-t" "$@"
+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 <http://www.gnu.org/licenses/>.
-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 $@.tmp
+ sed -i 's|guix\.info|guix.fr.info|' $@.tmp
+ mv $@.tmp $@
%D%/os-config-%.texi: gnu/system/examples/%.tmpl
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
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 <julien@lepiller.eu>
+#
+# 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 <http://www.gnu.org/licenses/>.
+
+EXTRA_DIST += \
+ %D%/fr.po
+
+$(srcdir)/po/doc/%.po: doc/guix.texi
+ po4a-updatepo -M UTF-8 -f texinfo -m $< -p $@
--
2.16.1
next prev parent reply other threads:[~2018-02-19 22:45 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-19 22:34 [WIP]: localize guix.texi Julien Lepiller
2018-02-19 22:45 ` Julien Lepiller [this message]
2018-03-02 13:31 ` Ludovic Courtès
2018-03-02 15:57 ` Gábor Boskovits
2018-03-02 23:07 ` [WIP] " Julien Lepiller
2018-03-02 23:07 ` [PATCH 1/3] gnu: doc: Alloc documentation to be translated Julien Lepiller
2018-03-05 9:10 ` Ludovic Courtès
2018-03-28 21:05 ` Julien Lepiller
2018-03-31 21:33 ` Ludovic Courtès
2018-03-02 23:07 ` [PATCH 2/3] gnu: guix: Add po4a input Julien Lepiller
2018-03-05 9:10 ` Ludovic Courtès
2018-03-05 9:08 ` [WIP] localize guix.texi Ludovic Courtès
2018-03-05 9:58 ` julien lepiller
2018-03-05 11:00 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180219234503.4091f68f@lepiller.eu \
--to=julien@lepiller.eu \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).