From bug 35079 comment 9, this is still valid. [11:13:51] Error: Command failed: msgmerge --backup=off --no-wrap --quiet -F --update misc/translator/po/de-DE-messages.po misc/translator/Koha-messages.pot misc/translator/Koha-messages.pot:11:35: syntax error misc/translator/Koha-messages.pot:11: keyword "n" unknown misc/translator/Koha-messages.pot:12: end-of-line within string msgmerge: found 3 fatal errors at ChildProcess.exithandler (node:child_process:419:12) at ChildProcess.emit (node:events:513:28) at ChildProcess.emit (node:domain:552:15) at maybeClose (node:internal/child_process:1091:16) at Socket.<anonymous> (node:internal/child_process:449:11) at Socket.emit (node:events:513:28) at Socket.emit (node:domain:552:15) at Pipe.<anonymous> (node:net:321:12) at Pipe.callbackTrampoline (node:internal/async_hooks:130:17) [11:13:51] 'po:update' errored after 31 s It's really hard to debug as it happens randomly. It's either coming from the merge of the header or 2 processes writing into the same file at the same time The problem is always the same, the extract of the strings generates line 11 of Koha-messages.pot with an extra quote: "Content-Transfer-Encoding: 8bit"\n" instead of "Content-Transfer-Encoding: 8bit\n" And so the update of the .tt fail because msgmerge fail to read the .pot file.
A workaround is to call several times po:extract with --task (bug 35103).