summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-04-08 22:56:02 +0200
committerLudovic Courtès <ludo@gnu.org>2022-04-08 22:56:02 +0200
commit0d0e2165ea80262b1044e6cebcc7ad820e59f872 (patch)
treedb35e110a0d883b1fcab7fb043ad6108e6049704
parent20645d8467852990413c1ea9cf81cec82d23defd (diff)
downloadguix-0d0e2165ea80262b1044e6cebcc7ad820e59f872.tar.gz
doc: Allow different translations for 'guix-cookbook' and 'guix-manual'.
Previously, 'guix-manual-text-domain' could be passed the cookbook
language list as its second argument.  Thus, it started failing when the
set of cookbook languages was no longer a subset of the manual
languages, starting with commit
93bfd4d9c7ba7055c19f02128491b3a98a180860, which removed "sk" from
'guix-manual' but kept it for 'guix-cookbook'.

* doc/build.scm (%manual-languages, %cookbook-languages): New
variables.
(%languages): Use them.
(guix-manual-text-domain): Give LANGUAGES a valid default value.
(localization-helper-module): Remove optional argument to
'guix-manual-text-domain'.
-rw-r--r--doc/build.scm21
1 files changed, 14 insertions, 7 deletions
diff --git a/doc/build.scm b/doc/build.scm
index 9d79215b98..f5c8713b41 100644
--- a/doc/build.scm
+++ b/doc/build.scm
@@ -62,11 +62,19 @@
   (or (getenv "GUIX_MANUAL")
       "guix"))
 
+(define %manual-languages
+  ;; Available translations for the 'guix-manual' text domain.
+  '("de" "en" "es" "fr" "ru" "zh_CN"))
+
+(define %cookbook-languages
+  ;; Available translations for the 'guix-cookbook' text domain.
+  '("de" "en" "fr" "sk"))
+
 (define %languages
-  ;; The cookbook is not translated in the same languages as the manual
+  ;; Available translations for the document being built.
   (if (string=? %manual "guix-cookbook")
-      '("de" "en" "fr" "sk")
-      '("de" "en" "es" "fr" "ru" "zh_CN")))
+      %cookbook-languages
+      %manual-languages))
 
 (define (texinfo-manual-images source)
   "Return a directory containing all the images used by the user manual, taken
@@ -969,7 +977,8 @@ PDF for language '~a'!~%~%"
   (computed-file (string-append manual "-pdf-manual") build
                  #:local-build? #f))
 
-(define (guix-manual-text-domain source languages)
+(define* (guix-manual-text-domain source
+                                  #:optional (languages %manual-languages))
   "Return the PO files for LANGUAGES of the 'guix-manual' text domain taken
 from SOURCE."
   (define po-directory
@@ -1042,9 +1051,7 @@ must be the Guix top-level source directory, from which PO files are taken."
             (define exp
               `(begin
                  (bindtextdomain "guix-manual"
-                                 #+(guix-manual-text-domain
-                                    source
-                                    languages))
+                                 #+(guix-manual-text-domain source))
                  (bindtextdomain "iso_639-3"      ;language names
                                  #+(file-append iso-codes
                                                 "/share/locale"))