bug-gnu-utils
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]