summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-04-21 21:50:34 +0200
committerLudovic Courtès <ludo@gnu.org>2020-04-21 23:52:19 +0200
commitcc753650eccf3dcbf074999c458e42df8d3c0827 (patch)
treed90d9ef51c624baa0b02c06eb04c2dc693fe4577
parentcb26edc8f62145d58fc55cc9b3a76128786b57b2 (diff)
downloadpatches-cc753650eccf3dcbf074999c458e42df8d3c0827.tar
patches-cc753650eccf3dcbf074999c458e42df8d3c0827.tar.gz
self: translate-texi-manuals: Don't hardcode "guix.texi".
* guix/self.scm (translate-texi-manuals)[build](translate-texi): Add 'prefix' and #:extras parameters and honor them. Adjust callers.
-rw-r--r--guix/self.scm48
1 files changed, 24 insertions, 24 deletions
diff --git a/guix/self.scm b/guix/self.scm
index 1040c27a6b..93dcb9bee3 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -339,35 +339,35 @@ TRANSLATIONS, an alist of msgid and msgstr."
#f regexp1 content 'pre "ref{" msgstr "," 'post)
'pre "ref{" msgstr "}" 'post))))))
content translations))
-
- (define (translate-texi po lang)
- "Translate the manual for one language LANG using the PO file."
+
+ (define* (translate-texi prefix po lang
+ #:key (extras '()))
+ "Translate the manual for one language LANG using the PO file.
+PREFIX must be the prefix of the manual, 'guix' or 'guix-cookbook'. EXTRAS is
+a list of extra files, such as '(\"contributing\")."
(let ((translations (call-with-input-file po read-po-file)))
- (translate-tmp-texi po "guix.texi"
- (string-append "guix." lang ".texi.tmp"))
- (translate-tmp-texi po "contributing.texi"
- (string-append "contributing." lang ".texi.tmp"))
- (let* ((texi-name (string-append "guix." lang ".texi"))
- (tmp-name (string-append texi-name ".tmp")))
- (with-output-to-file texi-name
- (lambda _
- (format #t "~a"
- (translate-cross-references
- (call-with-input-file tmp-name get-string-all)
- translations)))))
- (let* ((texi-name (string-append "contributing." lang ".texi"))
- (tmp-name (string-append texi-name ".tmp")))
- (with-output-to-file texi-name
- (lambda _
- (format #t "~a"
- (translate-cross-references
- (call-with-input-file tmp-name get-string-all)
- translations)))))))
+ (for-each (lambda (file)
+ (translate-tmp-texi po (string-append file ".texi")
+ (string-append file "." lang
+ ".texi.tmp")))
+ (cons prefix extras))
+
+ (for-each (lambda (file)
+ (let* ((texi (string-append file "." lang ".texi"))
+ (tmp (string-append texi ".tmp")))
+ (with-output-to-file texi
+ (lambda ()
+ (display
+ (translate-cross-references
+ (call-with-input-file tmp get-string-all)
+ translations))))))
+ (cons prefix extras))))
(for-each (lambda (po)
(match (reverse (string-split po #\.))
((_ lang _ ...)
- (translate-texi po lang))))
+ (translate-texi "guix" po lang
+ #:extras '("contributing")))))
(find-files "." "^guix-manual\\.[a-z]{2}(_[A-Z]{2})?\\.po$"))
(for-each