The process for translating the manual is as follows: we use po4a to replace English strings with the target language's strings. At this point, the translation contains English node names. Then, the Makefile is supposed to replace these with the actual translation of the node names (that way even untranslated strings refer to the correct nodes). However, it seems that in your case, that process did not go well.

I'd rather try to fix the issue than avoid it, but you can always remove references to the translated manual from doc/local.mk.

Can you try running the xref command from doc/local.mk manually, to see if it's doing anything wrong?

Le 25 juin 2021 18:26:51 GMT-04:00, HiPhish <hiphish@posteo.de> a écrit :
I actually looked into the offending files and I found that they are only half-
translated. Part of them is in German, but some parts are in English, and the
English parts are referencing English node names, which obviously do not exist
in the German manual.

I do not need the German manual, is there a way to skip it? A quick glance
shows the same problem in the Spanish manual as well, and other manuals are
probably affected as well. I don't know why `make` only choked up on the German
manual though. Maybe because that's the first one in alphabetical order and
`make` did not bother trying the rest? Or could it be because my machine is in
Germany? The output of the `locale` command is:

$ locale
LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE=C
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

And when inside a pure Guix environment:

$ locale
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=