Subject: Re: bug#18054: Problematic translation strings in coreutils 8.22‏

From: Pádraig Brady <[email-masked]>
Date: Sat, 19 Jul 2014 01:22:29 +0100

On 07/18/2014 10:48 PM, Sebastian Rasmussen wrote:
> Hi!
>  
> When reviewing the Swedish translation of coreutils I noticed the pecular string
> "failed to %s supplemental groups" which (because the contents of %s were
> unclear) prompted me to look at the source of coreutils. The %s used in this string
> is expanded to either "set" or "clear" but neither of those strings are enclosed by
> the _() translation macro.
>  
> Once saw this I looked for further instances where the translation macro was
> used in a strange way and I found the instance in gl/lib/randread.c. In the
> .pot-file only "%s: end of file" is present and "%s: read error" is left untranslated.
> The reason for this is that the translation macro _() in this instance contains
> a ternary expression and only the first string will be parsed and offered for
> translation. To fix this I propose to first evaluate the expression and only
> then apply the translation macro.
>  
> Below I provide you with a proposed patch (applying on top of git HEAD).
> Applying this patch makes the strings "set" and "clear" appear in the .pot-file
> and "%s: read error" be mentioned for lib/randread.c too. I hope the patch
> will help you in sorting out this minor issue. Thanks for an excellent set of utilities!
>  
>  / Sebastian

Excellent attention to detail.
The patch looks great. The only change I'll make is to s/maint:/doc:/
in the commit summary.

thanks!
Pádraig.