[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ngettext() not enough?
From: |
Paul Pogonyshev |
Subject: |
Re: ngettext() not enough? |
Date: |
Sat, 16 Jul 2005 01:25:44 +0300 |
User-agent: |
KMail/1.4.3 |
Bruno Haible wrote:
> Paul Pogonyshev wrote:
> > Consider this message: ``Black wins by %f'' (word `points' omitted.) I'm
> > not a native English-speaker, but in English it looks fine to me. Now,
> > if I translate this into Russian, the resulting message---``черные
> > выиграли %f''--- is ugly and unnatural, because I omitted the translation
> > of `points'. However, I cannot put this word in, because I have no way
> > of selecting its proper form, since my points are not integral.
> >
> > Is there any known way to solve/workaround this?
>
> In my limited experience with Western-European languages, no distinction
> is made between singular and plural when a floating-point value is used.
> For example,
> The temperature rose by 6.0 degrees.
> The temperature rose by 1.03 degrees.
> The temperature rose by 0.2 degrees.
>
> In other words, in those cases where a singular/plural distinction is made,
> the quantity is an integer.
>
> Question: Is this the same also for Russian?
Surprisingly, when I think about it, I cannot decide with full certainty...
Russian is peculiar in this respect.
In the game (it is Go) 99.9% of the time, perhaps, points are integer + 0.5.
I bet most Russian-speaker people (me at least) will read `N.5 points' as
``N and a half points''. In this case, form of the word `points' will depend
on N and not on the word `half'... There are two more possible versions of
reading `N.5 points' in Russian: ``N and 5 points'' (a little informal) and
``N units, 5 tenths of points'' (formal.) In ``N and 5'' case form of
`points' depends on 5, while in `tenths' case it depends on word `tenths',
i.e. is fixed in relation to the number in question.
> Question: In your game, does the %f in "Black wins by %f" denotes an integer
> or not?
> If the answer is no, you still test whether (int)points == points,
> if yes use a singular/plural form with %d, and if no use a fixed form with %f.
So, given the formal reading above, it should be possible to split in `%d'
and `%f' variants as you propose. Still, I wish I could rephrase the message
somehow, but so far I'm short on ideas. Too bad I have points and kilograms,
in which case I could just use `kg'...
Paul
- ngettext() not enough?, Paul Pogonyshev, 2005/07/14
- Re: ngettext() not enough?, Bruno Haible, 2005/07/15
- Re: ngettext() not enough?, John.Cowan, 2005/07/15
- Re: ngettext() not enough?, Andreas Schwab, 2005/07/15
- Re: ngettext() not enough?, John.Cowan, 2005/07/15
- Re: ngettext() not enough?, Andreas Schwab, 2005/07/15
- Re: ngettext() not enough?, Bob Proulx, 2005/07/16
- Re: ngettext() not enough?, John.Cowan, 2005/07/17
- Re: ngettext() not enough?, Chuck Swiger, 2005/07/17
- Re: ngettext() not enough?, Paul Eggert, 2005/07/15
Re: ngettext() not enough?,
Paul Pogonyshev <=