Hi,

Attached the last of the series of tiny fixes for string problems 
that I found while updating the Dutch translation for coreutils.

To clarify the change to some strings of uptime.c: some languages 
may want to put the translation of "up" after the uptime instead of 
in front; having the "up" in an unrelated string makes this awkward.  
So the patch moves it to the relevant strings, even though this 
means some duplication.

Benno
>From 4e00ae1354aa80baebf5ac3d2e1efc2c2a779ef3 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Wed, 20 Aug 2008 22:24:38 +0200
Subject: [PATCH] md5sum: avoid possible double singular/plural in warning messages

In many languages in "N out of M files failed" not only "files" needs to
be singular or plural depending on M, but also "failed" needs a singular
or plural form depending on N.  Avoid this complication and only say how
many files failed; the total number of files is not really interesting
anyway and only makes the message less clear.
---
 src/md5sum.c |   26 +++++++++-----------------
 1 files changed, 9 insertions(+), 17 deletions(-)

diff --git a/src/md5sum.c b/src/md5sum.c
index 238c02e..8bdbe97 100644
--- a/src/md5sum.c
+++ b/src/md5sum.c
@@ -570,25 +570,17 @@ digest_check (const char *checkfile_name)
 	{
 	  if (n_open_or_read_failures != 0)
 	    error (0, 0,
-		   ngettext ("WARNING: %" PRIuMAX " of %" PRIuMAX
-			     " listed file could not be read",
-			     "WARNING: %" PRIuMAX " of %" PRIuMAX
-			     " listed files could not be read",
-			     select_plural (n_properly_formatted_lines)),
-		   n_open_or_read_failures, n_properly_formatted_lines);
+		   ngettext ("WARNING: %" PRIuMAX " file could not be read",
+			     "WARNING: %" PRIuMAX " files could not be read",
+			     select_plural (n_open_or_read_failures)),
+		   n_open_or_read_failures);
 
 	  if (n_mismatched_checksums != 0)
-	    {
-	      uintmax_t n_computed_checksums =
-		(n_properly_formatted_lines - n_open_or_read_failures);
-	      error (0, 0,
-		     ngettext ("WARNING: %" PRIuMAX " of %" PRIuMAX
-			       " computed checksum did NOT match",
-			       "WARNING: %" PRIuMAX " of %" PRIuMAX
-			       " computed checksums did NOT match",
-			       select_plural (n_computed_checksums)),
-		     n_mismatched_checksums, n_computed_checksums);
-	    }
+	    error (0, 0,
+		   ngettext ("WARNING: %" PRIuMAX " checksum did NOT match",
+			     "WARNING: %" PRIuMAX " checksums did NOT match",
+			     select_plural (n_mismatched_checksums)),
+		   n_mismatched_checksums);
 	}
     }
 
-- 
1.5.6.4

>From 3ef36c72666f7a6c1bc732c99d192bce8923a698 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Wed, 20 Aug 2008 22:44:33 +0200
Subject: [PATCH] pinky: gettextize two missed strings

Additionally differentiate the strings for unknown idle time and
unknown real name so they can be translated differently.
---
 src/pinky.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/pinky.c b/src/pinky.c
index 382f30f..8a7fe8b 100644
--- a/src/pinky.c
+++ b/src/pinky.c
@@ -250,7 +250,8 @@ print_entry (const STRUCT_UTMP *utmp_ent)
       name[UT_USER_SIZE] = '\0';
       pw = getpwnam (name);
       if (pw == NULL)
-	printf (" %19s", "        ???");
+	/* TRANSLATORS: Real name is unknown; at most 19 characters. */
+	printf (" %19s", _("        ???"));
       else
 	{
 	  char *const comma = strchr (pw->pw_gecos, ',');
@@ -273,7 +274,8 @@ print_entry (const STRUCT_UTMP *utmp_ent)
       if (last_change)
 	printf (" %-6s", idle_string (last_change));
       else
-	printf (" %-6s", "???");
+	/* TRANSLATORS: Idle time is unknown; at most 5 characters. */        
+	printf (" %-6s", _("?????"));
     }
 
   printf (" %s", time_string (utmp_ent));
@@ -328,6 +330,7 @@ print_long_entry (const char name[])
   printf (_("In real life: "));
   if (pw == NULL)
     {
+      /* TRANSLATORS: Real name is unknown; no hard limit. */
       printf (" %s", _("???\n"));
       return;
     }
-- 
1.5.6.4

>From cc5f373ae5a7e0ea1186cb565c4147f2a155844e Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Wed, 20 Aug 2008 22:40:03 +0200
Subject: [PATCH] od: avoid concatening two messages without a newline

Better make them into two separate paragraphs.
Also make the explanation of multiplier suffixes clearer.
---
 src/od.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/od.c b/src/od.c
index 5b4b7bd..ac515dd 100644
--- a/src/od.c
+++ b/src/od.c
@@ -385,13 +385,13 @@ for sizeof(double) or L for sizeof(long double).\n\
 \n\
 RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n\
 BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier suffix:\n\
-b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n\
-GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n\
+b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024,\n\
+GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n\
 Adding a z suffix to any type displays printable characters at the end of each\n\
-output line.  \
+output line.\n\
 "), stdout);
       fputs (_("\
---string without a number implies 3.  --width without a number\n\
+Option --string without a number implies 3; option --width without a number\n\
 implies 32.  By default, od uses -A o -t oS -w16.\n\
 "), stdout);
       emit_bug_reporting_address ();
-- 
1.5.6.4

>From adfc0e56d8e58cab813c1d9ca96a44b2dc853fea Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Wed, 20 Aug 2008 22:35:05 +0200
Subject: [PATCH] mkfifo, mknod: put -Z option in its alphabetical position

Options are normally sorted by their short form, not their long form.
Also line up their descriptions.
---
 src/mkfifo.c |    4 ++--
 src/mknod.c  |    6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/mkfifo.c b/src/mkfifo.c
index 690766b..04b6b4f 100644
--- a/src/mkfifo.c
+++ b/src/mkfifo.c
@@ -58,10 +58,10 @@ Create named pipes (FIFOs) with the given NAMEs.\n\
 Mandatory arguments to long options are mandatory for short options too.\n\
 "), stdout);
       fputs (_("\
-  -Z, --context=CTX  set the SELinux security context of each NAME to CTX\n\
+  -m, --mode=MODE    set file permission bits to MODE, not a=rw - umask\n\
 "), stdout);
       fputs (_("\
-  -m, --mode=MODE   set file permission bits to MODE, not a=rw - umask\n\
+  -Z, --context=CTX  set the SELinux security context of each NAME to CTX\n\
 "), stdout);
       fputs (HELP_OPTION_DESCRIPTION, stdout);
       fputs (VERSION_OPTION_DESCRIPTION, stdout);
diff --git a/src/mknod.c b/src/mknod.c
index f4028e9..13f730e 100644
--- a/src/mknod.c
+++ b/src/mknod.c
@@ -59,11 +59,11 @@ Create the special file NAME of the given TYPE.\n\
       fputs (_("\
 Mandatory arguments to long options are mandatory for short options too.\n\
 "), stdout);
-      fputs(_("\
-  -Z, --context=CTX  set the SELinux security context of NAME to CTX\n\
+      fputs (_("\
+  -m, --mode=MODE    set file permission bits to MODE, not a=rw - umask\n\
 "), stdout);
       fputs (_("\
-  -m, --mode=MODE   set file permission bits to MODE, not a=rw - umask\n\
+  -Z, --context=CTX  set the SELinux security context of NAME to CTX\n\
 "), stdout);
       fputs (HELP_OPTION_DESCRIPTION, stdout);
       fputs (VERSION_OPTION_DESCRIPTION, stdout);
-- 
1.5.6.4

>From 053f71a5e82bc97b200e4bbfa5de02133439e366 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Wed, 20 Aug 2008 23:00:00 +0200
Subject: [PATCH] nohup, remove, tr: also gettextize the alternative messages

---
 src/nohup.c  |    8 ++++----
 src/remove.c |    4 ++--
 src/tr.c     |    6 +++---
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/nohup.c b/src/nohup.c
index 61f181d..cdfaf4f 100644
--- a/src/nohup.c
+++ b/src/nohup.c
@@ -162,8 +162,8 @@ main (int argc, char **argv)
       umask (umask_value);
       error (0, 0,
 	     _(ignoring_input
-	       ? "ignoring input and appending output to %s"
-	       : "appending output to %s"),
+	       ? N_("ignoring input and appending output to %s")
+	       : N_("appending output to %s")),
 	     quote (file));
       free (in_home);
     }
@@ -185,8 +185,8 @@ main (int argc, char **argv)
       if (!redirecting_stdout)
 	error (0, 0,
 	       _(ignoring_input
-		 ? "ignoring input and redirecting stderr to stdout"
-		 : "redirecting stderr to stdout"));
+		 ? N_("ignoring input and redirecting stderr to stdout")
+		 : N_("redirecting stderr to stdout")));
 
       if (dup2 (out_fd, STDERR_FILENO) < 0)
 	error (NOHUP_FAILURE, errno, _("failed to redirect standard error"));
diff --git a/src/remove.c b/src/remove.c
index 4c3ee99..58b24a3 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -1541,8 +1541,8 @@ rm_1 (Dirstack_state *ds, char const *filename,
   if (dot_or_dotdot (base))
     {
       error (0, 0, _(base == filename
-		     ? "cannot remove directory %s"
-		     : "cannot remove %s directory %s"),
+		     ? N_("cannot remove directory %s")
+		     : N_("cannot remove %s directory %s")),
 	     quote_n (0, base), quote_n (1, filename));
       return RM_ERROR;
     }
diff --git a/src/tr.c b/src/tr.c
index e1bb404..4dde099 100644
--- a/src/tr.c
+++ b/src/tr.c
@@ -1720,9 +1720,9 @@ main (int argc, char **argv)
 	  error (0, 0, _("missing operand after %s"), quote (argv[argc - 1]));
 	  fprintf (stderr, "%s\n",
 		   _(squeeze_repeats
-		     ? ("Two strings must be given when "
-			"both deleting and squeezing repeats.")
-		     : "Two strings must be given when translating."));
+		     ? N_("Two strings must be given when "
+			  "both deleting and squeezing repeats.")
+		     : N_("Two strings must be given when translating.")));
 	}
       usage (EXIT_FAILURE);
     }
-- 
1.5.6.4

>From 9e69e1f0a27bdf250c5311f1cb719fb9f98100d9 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Fri, 22 Aug 2008 23:46:54 +0200
Subject: [PATCH] remove.c: move comment to right before string, so gettext will pick it up

---
 src/remove.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/remove.c b/src/remove.c
index 58b24a3..7c63dfe 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -918,12 +918,12 @@ prompt (int fd_cwd, Dirstack_state const *ds, char const *filename,
 	      return RM_ERROR;
 	    }
 
-	  /* TRANSLATORS: You may find it more convenient to translate
-	     the equivalent of _("%s: remove %s (write-protected) %s? ").
-	     It should avoid grammatical problems with the output
-	     of file_type.  */
 	  fprintf (stderr,
 		   (write_protected
+		    /* TRANSLATORS: You may find it more convenient to
+		       translate "%s: remove %s (write-protected) %s? "
+		       instead.  It should avoid grammatical problems
+		       with the output of file_type.  */
 		    ? _("%s: remove write-protected %s %s? ")
 		    : _("%s: remove %s %s? ")),
 		   program_name, file_type (sbuf), quoted_name);
-- 
1.5.6.4

>From 8fdb2b6a779b833c7278c36f6dc0daf79b798c95 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Thu, 21 Aug 2008 22:16:31 +0200
Subject: [PATCH] od: ungettextize debugging messages

---
 src/od.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/od.c b/src/od.c
index ac515dd..1b81ab1 100644
--- a/src/od.c
+++ b/src/od.c
@@ -1894,13 +1894,13 @@ it must be one character from [doxn]"),
     }
 
 #ifdef DEBUG
-  printf (_("lcm=%d, width_per_block=%zu\n"), l_c_m, width_per_block);
+  printf ("lcm=%d, width_per_block=%zu\n", l_c_m, width_per_block);
   for (i = 0; i < n_specs; i++)
     {
       int fields_per_block = bytes_per_block / width_bytes[spec[i].size];
       assert (bytes_per_block % width_bytes[spec[i].size] == 0);
       assert (1 <= spec[i].pad_width / fields_per_block);
-      printf (_("%d: fmt=\"%s\" in_width=%d out_width=%d pad=%d\n"),
+      printf ("%d: fmt=\"%s\" in_width=%d out_width=%d pad=%d\n",
 	      i, spec[i].fmt_string, width_bytes[spec[i].size],
 	      spec[i].field_width, spec[i].pad_width);
     }
-- 
1.5.6.4

>From 288c44b31a7fba6743ab1bb9095791d93ca8b8dc Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Thu, 21 Aug 2008 23:07:15 +0200
Subject: [PATCH] pr: do not show arguments after short options that allow a space

Also join the lonely -S option to its description.
---
 src/pr.c |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/pr.c b/src/pr.c
index 6ffe8f1..0d8845f 100644
--- a/src/pr.c
+++ b/src/pr.c
@@ -2804,7 +2804,7 @@ Mandatory arguments to long options are mandatory for short options too.\n\
                     and trailer without -F)\n\
 "), stdout);
       fputs (_("\
-  -h HEADER, --header=HEADER\n\
+  -h, --header=HEADER\n\
                     use a centered HEADER instead of filename in page header,\n\
                     -h \"\" prints a blank line, don't use -h\"\"\n\
   -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n\
@@ -2813,7 +2813,7 @@ Mandatory arguments to long options are mandatory for short options too.\n\
                     alignment, --sep-string[=STRING] sets separators\n\
 "), stdout);
       fputs (_("\
-  -l PAGE_LENGTH, --length=PAGE_LENGTH\n\
+  -l, --length=PAGE_LENGTH\n\
                     set the page length to PAGE_LENGTH (66) lines\n\
                     (default number of lines of text 56, and with -F 63)\n\
   -m, --merge       print all files in parallel, one in each column,\n\
@@ -2823,12 +2823,12 @@ Mandatory arguments to long options are mandatory for short options too.\n\
   -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n\
                     number lines, use DIGITS (5) digits, then SEP (TAB),\n\
                     default counting starts with 1st line of input file\n\
-  -N NUMBER, --first-line-number=NUMBER\n\
+  -N, --first-line-number=NUMBER\n\
                     start counting with NUMBER at 1st line of first\n\
                     page printed (see +FIRST_PAGE)\n\
 "), stdout);
       fputs (_("\
-  -o MARGIN, --indent=MARGIN\n\
+  -o, --indent=MARGIN\n\
                     offset each line with MARGIN (zero) spaces, do not\n\
                     affect -w or -W, MARGIN will be added to PAGE_WIDTH\n\
   -r, --no-file-warnings\n\
@@ -2843,8 +2843,6 @@ Mandatory arguments to long options are mandatory for short options too.\n\
 "), stdout);
       fputs (_("\
   -SSTRING, --sep-string[=STRING]\n\
-"), stdout);
-      fputs (_("\
                     separate columns by STRING,\n\
                     without -S: Default separator <TAB> with -J and <space>\n\
                     otherwise (same as -S\" \"), no effect on column options\n\
@@ -2856,12 +2854,12 @@ Mandatory arguments to long options are mandatory for short options too.\n\
                     by form feeds set in input files\n\
   -v, --show-nonprinting\n\
                     use octal backslash notation\n\
-  -w PAGE_WIDTH, --width=PAGE_WIDTH\n\
+  -w, --width=PAGE_WIDTH\n\
                     set page width to PAGE_WIDTH (72) characters for\n\
                     multiple text-column output only, -s[char] turns off (72)\n\
 "), stdout);
       fputs (_("\
-  -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n\
+  -W, --page-width=PAGE_WIDTH\n\
                     set page width to PAGE_WIDTH (72) characters always,\n\
                     truncate lines, except -J option is set, no interference\n\
                     with -S or -s\n\
-- 
1.5.6.4

>From 65c39291866a0dfb66dc758b05c42c77129d9f79 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Sat, 23 Aug 2008 22:49:11 +0200
Subject: [PATCH] rmdir: use lower case in option description, and the customary indent

---
 src/rmdir.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/rmdir.c b/src/rmdir.c
index 64575b0..935792f 100644
--- a/src/rmdir.c
+++ b/src/rmdir.c
@@ -169,11 +169,11 @@ Remove the DIRECTORY(ies), if they are empty.\n\
 \n\
       --ignore-fail-on-non-empty\n\
                   ignore each failure that is solely because a directory\n\
-                  is non-empty\n\
+                    is non-empty\n\
 "), stdout);
       fputs (_("\
-  -p, --parents   Remove DIRECTORY and its ancestors.  E.g., `rmdir -p a/b/c' is\n\
-                  similar to `rmdir a/b/c a/b a'.\n\
+  -p, --parents   remove DIRECTORY and its ancestors; e.g., `rmdir -p a/b/c' is\n\
+                    similar to `rmdir a/b/c a/b a'\n\
   -v, --verbose   output a diagnostic for every directory processed\n\
 "), stdout);
       fputs (HELP_OPTION_DESCRIPTION, stdout);
-- 
1.5.6.4

>From d3a862e2afbf7eed34ca1dc1f3ff3ff2e295f474 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Wed, 27 Aug 2008 00:08:22 +0200
Subject: [PATCH] shred: lowercase a stray capital in the help text

---
 src/shred.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/shred.c b/src/shred.c
index d766405..6b7d901 100644
--- a/src/shred.c
+++ b/src/shred.c
@@ -166,7 +166,7 @@ Mandatory arguments to long options are mandatory for short options too.\n\
 "), stdout);
       printf (_("\
   -f, --force    change permissions to allow writing if necessary\n\
-  -n, --iterations=N  Overwrite N times instead of the default (%d)\n\
+  -n, --iterations=N  overwrite N times instead of the default (%d)\n\
       --random-source=FILE  get random bytes from FILE (default /dev/urandom)\n\
   -s, --size=N   shred this many bytes (suffixes like K, M, G accepted)\n\
 "), DEFAULT_PASSES);
-- 
1.5.6.4

>From bcd977b8c03917931aa35d1c82c1fdbe88981d67 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Wed, 27 Aug 2008 00:05:01 +0200
Subject: [PATCH] stty: correct the alignment of a help text entry

Also remove a stray period, and ungettextize a debugging message.
---
 src/stty.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/stty.c b/src/stty.c
index a70fd95..8eeaa2f 100644
--- a/src/stty.c
+++ b/src/stty.c
@@ -551,7 +551,7 @@ Special characters:\n\
       fputs (_("\
 \n\
 Special settings:\n\
-  N             set the input and output speeds to N bauds\n\
+   N             set the input and output speeds to N bauds\n\
  * cols N        tell the kernel that the terminal has N columns\n\
  * columns N     same as cols N\n\
 "), stdout);
@@ -707,7 +707,7 @@ Combination settings:\n\
                  -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n\
                  isig icanon iexten echo echoe echok -echonl -noflsh\n\
                  -xcase -tostop -echoprt echoctl echoke, all special\n\
-                 characters to their default values.\n\
+                 characters to their default values\n\
 "), stdout);
       fputs (_("\
 \n\
@@ -1043,7 +1043,7 @@ main (int argc, char **argv)
 #ifdef TESTING
 	      {
 		size_t i;
-		printf (_("new_mode: mode\n"));
+		printf ("new_mode: mode\n");
 		for (i = 0; i < sizeof (new_mode); i++)
 		  printf ("0x%02x: 0x%02x\n",
 			  *(((unsigned char *) &new_mode) + i),
-- 
1.5.6.4

>From 8c7d6c17d82ed2181d03a72d09e571232511c587 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Sun, 24 Aug 2008 15:37:19 +0200
Subject: [PATCH] sort: sort the options better alphabetically

Take the opportunity to split the long message into three parts.
---
 src/sort.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/sort.c b/src/sort.c
index 37eb854..44bfbe0 100644
--- a/src/sort.c
+++ b/src/sort.c
@@ -335,14 +335,18 @@ Ordering options:\n\
   -g, --general-numeric-sort  compare according to general numerical value\n\
   -i, --ignore-nonprinting    consider only printable characters\n\
   -M, --month-sort            compare (unknown) < `JAN' < ... < `DEC'\n\
+"), stdout);
+      fputs (_("\
   -n, --numeric-sort          compare according to string numerical value\n\
   -R, --random-sort           sort by random hash of keys\n\
-  -V, --version-sort          sort by numeric version (see strverscmp(3C))\n\
       --random-source=FILE    get random bytes from FILE (default /dev/urandom)\n\
+  -r, --reverse               reverse the result of comparisons\n\
+"), stdout);
+      fputs (_("\
       --sort=WORD             sort according to WORD:\n\
                                 general-numeric -g, month -M, numeric -n,\n\
                                 random -R, version -V\n\
-  -r, --reverse               reverse the result of comparisons\n\
+  -V, --version-sort          sort by numeric version (see strverscmp(3))\n\
 \n\
 "), stdout);
       fputs (_("\
-- 
1.5.6.4

>From 4d9fdace2f46a38a719f2abb0d393bf8d7baa395 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Wed, 27 Aug 2008 23:34:08 +0200
Subject: [PATCH] tail: put the --retry option in its alphabetical place in the help text

Also simplify its description, split a long string in two,
remove a stray period, and add the usual indent.
---
 src/tail.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/tail.c b/src/tail.c
index 2fcd4cf..a7d4495 100644
--- a/src/tail.c
+++ b/src/tail.c
@@ -225,10 +225,6 @@ With no FILE, or when FILE is -, read standard input.\n\
 Mandatory arguments to long options are mandatory for short options too.\n\
 "), stdout);
      fputs (_("\
-      --retry              keep trying to open a file even if it is\n\
-                           inaccessible when tail starts or if it becomes\n\
-                           inaccessible later; useful when following by name,\n\
-                           i.e., with --follow=name\n\
   -c, --bytes=N            output the last N bytes; alternatively, use +N to\n\
                            output bytes starting with the Nth of each file\n\
 "), stdout);
@@ -254,8 +250,13 @@ Mandatory arguments to long options are mandatory for short options too.\n\
      fputs (_("\
       --pid=PID            with -f, terminate after process ID, PID dies\n\
   -q, --quiet, --silent    never output headers giving file names\n\
+      --retry              keep trying to open a file even when it is or\n\
+                             becomes inaccessible; useful when following by\n\
+                             name, i.e., with --follow=name\n\
+"), stdout);
+     fputs (_("\
   -s, --sleep-interval=S   with -f, sleep for approximately S seconds\n\
-                           (default 1.0) between iterations.\n\
+                             (default 1.0) between iterations\n\
   -v, --verbose            always output headers giving file names\n\
 "), stdout);
      fputs (HELP_OPTION_DESCRIPTION, stdout);
-- 
1.5.6.4

>From e15e1f375b044fe784541f0c81202bb305c29ff3 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Sun, 31 Aug 2008 12:35:18 +0200
Subject: [PATCH] uptime: put together message parts that belong together

---
 src/uptime.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/uptime.c b/src/uptime.c
index b35e97a..441ac9f 100644
--- a/src/uptime.c
+++ b/src/uptime.c
@@ -130,17 +130,21 @@ print_uptime (size_t n, const STRUCT_UTMP *this)
   /* procps' version of uptime also prints the seconds field, but
      previous versions of coreutils don't. */
   if (tmn)
-    fprintftime (stdout, _(" %H:%M%P  up "), tmn, 0, 0);
+    /* TRANSLATORS: This prints the current clock time. */
+    fprintftime (stdout, _(" %H:%M%P  "), tmn, 0, 0);
   else
-    printf (_(" ??:????  up "));
+    printf (_(" ??:????  "));
   if (uptime == (time_t) -1)
-    printf (_("???? days ??:??,  "));
+    printf (_("up ???? days ??:??,  "));
   else
     {
       if (0 < updays)
-	printf (ngettext ("%ld day", "%ld days", select_plural (updays)),
-		updays);
-      printf (" %2d:%02d,  ", uphours, upmins);
+	printf (ngettext ("up %ld day %2d:%02d,  ",
+			  "up %ld days %2d:%02d,  ",
+			  select_plural (updays)),
+		updays, uphours, upmins);
+      else
+	printf ("up  %2d:%02d,  ", uphours, upmins);
     }
   printf (ngettext ("%lu user", "%lu users", entries),
 	  (unsigned long int) entries);
-- 
1.5.6.4

>From 9f719b2e362995926bd3a780d480f438189736a8 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Fri, 29 Aug 2008 22:52:06 +0200
Subject: [PATCH] tr: gettextizing a single paragraph as a single string

Breaking a paragraph into several strings is awkward for translators.
---
 src/tr.c |   10 ++--------
 1 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/src/tr.c b/src/tr.c
index 4dde099..0f94eef 100644
--- a/src/tr.c
+++ b/src/tr.c
@@ -339,16 +339,10 @@ Interpreted sequences are:\n\
 \n\
 Translation occurs if -d is not given and both SET1 and SET2 appear.\n\
 -t may be used only when translating.  SET2 is extended to length of\n\
-SET1 by repeating its last character as necessary.  \
-"), stdout);
-     fputs (_("\
-Excess characters\n\
+SET1 by repeating its last character as necessary.  Excess characters\n\
 of SET2 are ignored.  Only [:lower:] and [:upper:] are guaranteed to\n\
 expand in ascending order; used in SET2 while translating, they may\n\
-only be used in pairs to specify case conversion.  \
-"), stdout);
-     fputs (_("\
--s uses SET1 if not\n\
+only be used in pairs to specify case conversion.  -s uses SET1 if not\n\
 translating nor deleting; else squeezing uses SET2 and occurs after\n\
 translation or deletion.\n\
 "), stdout);
-- 
1.5.6.4

>From 95ced5a24fad6946fb9183a443a70e7b5a5136cf Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Wed, 27 Aug 2008 23:47:54 +0200
Subject: [PATCH] tail: gettextize a forgotten string

---
 src/tail.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/tail.c b/src/tail.c
index a7d4495..43fd6d4 100644
--- a/src/tail.c
+++ b/src/tail.c
@@ -297,7 +297,7 @@ valid_file_spec (struct File_spec const *f)
 static char const *
 pretty_name (struct File_spec const *f)
 {
-  return (STREQ (f->name, "-") ? "standard input" : f->name);
+  return (STREQ (f->name, "-") ? _("standard input") : f->name);
 }
 
 static void
-- 
1.5.6.4

>From 3eaf2cedc28ef7bd85468839810ed369af1dd2fd Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <[EMAIL PROTECTED]>
Date: Sun, 31 Aug 2008 23:26:37 +0200
Subject: [PATCH] who: add a general description to the help text

---
 src/who.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/who.c b/src/who.c
index 94af8bf..5b17ef1 100644
--- a/src/who.c
+++ b/src/who.c
@@ -630,6 +630,9 @@ usage (int status)
     {
       printf (_("Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n"), program_name);
       fputs (_("\
+Print information about users who are currently logged in.\n\
+"), stdout);
+      fputs (_("\
 \n\
   -a, --all         same as -b -d --login -p -r -t -T -u\n\
   -b, --boot        time of last system boot\n\
-- 
1.5.6.4

_______________________________________________
Bug-coreutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-coreutils

Reply via email to