[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Command line parsing of ls, tail and wc with genparse
From: |
Michael Geng |
Subject: |
Re: [PATCH] Command line parsing of ls, tail and wc with genparse |
Date: |
Sun, 7 Oct 2007 09:39:20 +0200 |
User-agent: |
Mutt/1.5.9i |
On Sat, Oct 06, 2007 at 05:09:15PM +0200, Bruno Haible wrote:
> Michael Geng wrote:
> > My intention is in fact to invoke xgettext on the parser files which
> > genparse generates. ... You can watch the genparse
> > generated parser for it from
> > http://genparse.sourceforge.net/examples/wc_clp.c.
>
> OK, this kind of generated code is not bad; it's acceptable to have
> translators look at it.
>
> But there are still two problems:
>
> 1) The gettext documentation [1] recommends to not make the _() arguments
> unnecessarily large.
>
> printf (_("\
> --files0-from=F read input from the files specified by\n\
> NUL-terminated names in file F\n\
> -L, --max-line-length print the length of the longest line\n\
> -w, --words print the word counts\n"));
>
> This is too large. When the maintainer adds another option, the translator
> should not have to re-proofread the 3 existing options. So you should better
> generate code like this:
The text is partitioned exactly as it is in the existing code of tail.c (I'm
looking at a cvs archive copy from sept 9). This is from tail.c:
fputs (_("\
--files0-from=F read input from the files specified by\n\
NUL-terminated names in file F\n\
-L, --max-line-length print the length of the longest line\n\
-w, --words print the word counts\n\
"), stdout);
---------------------------------------------
> printf (_("\
> --files0-from=F read input from the files specified by\n\
> NUL-terminated names in file F\n"));
> printf (_("\
> -L, --max-line-length print the length of the longest line\n"));
> printf (_("\
> -w, --words print the word counts\n"));
Genparse could easily generate the above code if you added more __NEW_PRINT__
directives to the genparse file like this:
NONE / files0-from=F string "read input from the files specified by"
" NUL-terminated names in file F__NEW_PRINT__"
L / max-line-length flag "print the length of the longest
line__NEW_PRINT__"
w / words flag "print the word counts__NEW_PRINT__"
> 2) What about translator comments? How can a maintainer provide
> additional information for the translators? Does this work?
>
> /* TRANSLATORS: the length here is actually the screen width */
> L / max-line-length flag "print the length of the longest line"
>
>
> /* TRANSLATORS: Keep the colons aligned. */
> Usage: __PROGRAM_NAME__ [OPTION]... [FILE]...
> or: __PROGRAM_NAME__ [OPTION]... --files0-from=F__NEW_PRINT__
>
>
> Bruno
>
>
> [1]
> http://www.gnu.org/software/gettext/manual/html_node/Preparing-Strings.html
That could be a reason for a new directive in the genparse file. When I grep for
"TRANSLATORS" in the coreutils src/ directory I can find only 3 hits however and
none of them is directly in the command line parsing code. system.h contains a
TRANSLATORS comment in the emit_bug_reporting_address () function but that can
stay as it is because genparse only instanstiates the call to
emit_bug_reporting_address () (see e.g.
http://genparse.sourceforge.net/examples/wc_clp.c).
Do you see more examples of translator comments in the coreutils code for which
you think genparse should handle them?
Michael
- Re: [PATCH] Command line parsing of ls, tail and wc with genparse, Bruno Haible, 2007/10/06
- Re: [PATCH] Command line parsing of ls, tail and wc with genparse, Michael Geng, 2007/10/06
- Re: [PATCH] Command line parsing of ls, tail and wc with genparse, Bruno Haible, 2007/10/06
- Re: [PATCH] Command line parsing of ls, tail and wc with genparse,
Michael Geng <=
- Re: [PATCH] Command line parsing of ls, tail and wc with genparse, Jim Meyering, 2007/10/07
- Re: [PATCH] Command line parsing of ls, tail and wc with genparse, Michael Geng, 2007/10/07
- Re: [PATCH] Command line parsing of ls, tail and wc with genparse, Jim Meyering, 2007/10/08
- Re: [PATCH] Command line parsing of ls, tail and wc with genparse, Bruno Haible, 2007/10/07
- Re: [PATCH] Command line parsing of ls, tail and wc with genparse, Michael Geng, 2007/10/07
Re: [PATCH] Command line parsing of ls, tail and wc with genparse, Jim Meyering, 2007/10/06
- Re: [PATCH] Command line parsing of ls, tail and wc with genparse, Michael Geng, 2007/10/07
- Re: [PATCH] Command line parsing of ls, tail and wc with genparse, Michael Geng, 2007/10/09
- Re: [PATCH] Command line parsing of ls, tail and wc with genparse, Jim Meyering, 2007/10/09
- Re: [PATCH] Command line parsing of ls, tail and wc with genparse, Andreas Schwab, 2007/10/09