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.
This commit is contained in:
Ludovic Courtès 2020-04-21 21:50:34 +02:00
parent cb26edc8f6
commit cc753650ec
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -340,34 +340,34 @@ (define (translate-cross-references content translations)
'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"
(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-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)))))))
(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