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

From: Paul Eggert <[email-masked]>
Date: Sat, 19 Jul 2014 07:57:56 -0700

Thanks, I pushed the attached slightly-simpler patch.
From 34ea1b4b956ffe759b3acd6f452ebe4dba93808d Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email-masked]>
Date: Sat, 19 Jul 2014 07:55:41 -0700
Subject: [PATCH] maint: fix message translation glitches

Problem reported by Sebastian Rasmussen in: http://bugs.gnu.org/18054
* gl/lib/randread.c (randread_error): Don't put multiple string
literals inside _(...), as xgettext doesn't support that.
* src/chroot.c (main): In diagnostics, don't bother to distinguish
between setting the number of supplemental group IDs to a zero or
to a nonzero value, as the underlying system call is the same
either way.  This also makes the string easier to translate correctly.
---
 gl/lib/randread.c | 2 +-
 src/chroot.c      | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/gl/lib/randread.c b/gl/lib/randread.c
index a073cab..af85653 100644
--- a/gl/lib/randread.c
+++ b/gl/lib/randread.c
@@ -125,7 +125,7 @@ randread_error (void const *file_name)
 {
   if (file_name)
     error (exit_failure, errno,
-           _(errno == 0 ? "%s: end of file" : "%s: read error"),
+           errno == 0 ? _("%s: end of file") : _("%s: read error"),
            quotearg_colon (file_name));
   abort ();
 }
diff --git a/src/chroot.c b/src/chroot.c
index fff0b53..6c2d63f 100644
--- a/src/chroot.c
+++ b/src/chroot.c
@@ -392,8 +392,7 @@ main (int argc, char **argv)
 #endif
 
   if ((uid_set (uid) || groups) && setgroups (n_gids, gids) != 0)
-    error (EXIT_CANCELED, errno, _("failed to %s supplemental groups"),
-           gids ? "set" : "clear");
+    error (EXIT_CANCELED, errno, _("failed to set supplemental groups"));
 
   free (in_gids);
   free (out_gids);
-- 
1.9.3