Re: gettext, plural form and translation

From: Sergey Burladyan <eshkinkot(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: gettext, plural form and translation
Date: 2009-03-19 00:03:52
Message-ID: 87tz5qml93.fsf@seb.progtech.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:

> Sergey Burladyan escribió:
> > gnu gettext have support for correct plural form translation
> > (http://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html),
> > but postgresql does not use it. why not ?
> > maybe it have some problem in some supported OS ? if not, can it implemented ?
> > maybe someone already doing this ?
> >
> > ps: i try to translate psql message "(1 row)/(3 rows)" but can't do this
> > correctly without plural form support.

> You don't need plural forms in this example. We have three separate
> messages, one for "(No rows)", another one for the singular "(1 row)"
> and a third one for the plural "(N rows)".

only one third message for plural is not enough for example for Russian. Russian
have three plural forms, for example:

2 rows | 2 zapisy
3 rows | 3 zapisy
5 rows | 5 zapisey
11 rows | 11 zapisey
21 rows | 21 zapis
etc

> We avoid mixing plurals and singulars. Is this still a problem for you
> somewhere?

don't know :) i see this untranslated message (N rows) every day and try
to translate it and find this issue.

Peter Eisentraut <peter_e(at)gmx(dot)net> writes:

> On Wednesday 18 March 2009 11:21:03 Sergey Burladyan wrote:
> > gnu gettext have support for correct plural form translation
> > (http://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html),
> > but postgresql does not use it. why not ?
> > maybe it have some problem in some supported OS ?

> Yes, the main reason is that it is not clear whether this is supported on all
> OS, or moreover that I believe it is not. So some allowances for that will
> probably have to be made.

maybe build farm can help to test it ?

i think about "(N rows)" message today and find other solution. i do not essentially
need this support for this message. because if i exchange position of word and
number in translated message - it will have right pronunciation, something like:
(rows: N) | (zapisey: N) | (записей: N)

is it correct to add ':' in translated message ? i think colon is need here
because sense part of message is not first...

ps: but this change order is look like "hack" and look like "this program is
not support correct spelling and use only one plural form" :)
and original order with different plural form is more closely to original English text.

also, how about other languages ? IMHO not all of it can have simple solution
like change words order...

i think support for ngettext() still must be implemented. if some problem with
it will be found - it can be rejected, isn't it ? =)

--
Sergey Burladyan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2009-03-19 00:22:20 Re: gettext, plural form and translation
Previous Message Robert Haas 2009-03-18 21:31:26 Re: Immediate shutdown and system(3)