This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: [PATCH] I18n flag for msgfmt
- From: Roozbeh Pournader <roozbeh at sharif dot edu>
- To: Bruno Haible <bruno at clisp dot org>
- Cc: Behdad Esfahbod <behdad at cs dot toronto dot edu>, bug-gnu-gettext at gnu dot org, Hamed Malek <hamed at bamdad dot org>, libc-alpha at sources dot redhat dot com
- Date: Wed, 07 Jan 2004 16:16:42 +0330
- Subject: Re: [PATCH] I18n flag for msgfmt
- Organization: Sharif FarsiWeb Inc
- References: <20040105184008.GA30666@gilas.bamdad.org> <Pine.LNX.4.58.0401060946340.11436@epoch.cs> <200401071322.44994.bruno@clisp.org>
On Wed, 2004-01-07 at 15:52, Bruno Haible wrote:
> You're right. I'll employ this solution in the next gettext release,
> with only a minor modification: The translators will write
> "%<OUTDIGITS>d"
> instead of
> "%Id"
That will be a little hard to comprehend for translators, and
specifically since the text will usually appear in a right-to-left
context, applying the bidirectional reordering to it makes it very
unreadable (when editing a PO file using KBabel for example). Think
about mirrored bracket: in this case only the first will be swapped,
making the translated message appear like:
..... OUTDIGIT>d>% .....
(where dots are right-to-left characters). A simple %Id will just become
..... Id% .....
which is much more easier to read and write.
> This is because
> - The %I flag is not backed by a standard. If some future C standard
> reserves %I for a different purpose, glibc would have to change,
> and msgfmt would have to emit a warning, and all Persian .po files
> would have to be changed... (This already happened with %L a few
> years ago.)
Well, glibc will also need to make the switch then. It will be fine with
us as the main user/developer community to switch everything then to a
new prefix (but without any bidi-neutral chars, please).
I guess we will very shortly follow this up with POSIX et al to make
sure such a thing ('I' prefix for local digits) would be done there.
roozbeh