Consider, e.g., (format #t (G_ "~0@*~a should be set to ~1@*~a instead of ~2@*~a~%") "CC" "(cc-for-target)" "gcc") -> CC should be set to (cc-for-target) instead of gcc By using positional arguments like this, translators can reorder the sentence to: (format #t (G_ "It's not ~2@*~a that ~0@*~a should be set to, but ~1@*~a~%") "CC" (cc-for-target) "gcc")) ~0@*~a should be set to ~1@*~a instead of ~2@*~a~%") "CC" "(cc-for-target)" "gcc") -> It's not gcc that CC should be set to, but (cc-for-target). CC should be set to (cc-for-target) instead of gcc Such reorderings are occasionally useful, yet AFAIK nowhere (except po/guix/ta.po, the mcron service and de.po) is this used. Sure, you could as translator add these ~N@* afterwards, but you need to know that's possible in the first place (and if you know it's possible, you still need to remember or rediscover what exactly to write), and it would be much simpler and more discoverable if they were included from the start. Also, IIRC, Weblate complains if you add these. p.s.: I'm writing a new linter, this particular example doesn't occur yet in Guix.