GNU bug report logs -
#65424
Guix doesn't use positional arguments in translated formatted messages
Previous Next
Full log
View this message in rfc822 format
Le 21 août 2023 14:09:14 GMT+02:00, Maxime Devos <maximedevos <at> telenet.be> a écrit :
>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.
That sounds reasonnabe. The very least we could do is document this syntax in the manual. Weblate would complain indeed, sirce it won't find the same formats in the source and target strings. It might complain about the order too, but that's something we could contribute upstseam if it happens.
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.