GNU bug report logs - #65424
Guix doesn't use positional arguments in translated formatted messages

Previous Next

Package: guix;

Reported by: Maxime Devos <maximedevos <at> telenet.be>

Date: Mon, 21 Aug 2023 12:10:02 UTC

Severity: normal

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: bug-guix <bug-guix <at> gnu.org>
Subject: Guix doesn't use positional arguments in translated formatted messages
Date: Mon, 21 Aug 2023 14:09:14 +0200
[Message part 1 (text/plain, inline)]
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.
[OpenPGP_0x49E3EE22191725EE.asc (application/pgp-keys, attachment)]
[OpenPGP_signature (application/pgp-signature, attachment)]

This bug report was last modified 1 year and 299 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.