Alvaro Herrera <alvherre@commandprompt.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@gmx.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