+2006-08-16 Bruno Haible <bruno@clisp.org>
+
+ * gettext.texi (Plural Forms): Put Hungarian under nplurals=2, and
+ explain why.
+ Reported by Arpad Biro <biro_arpad@yahoo.com> and
+ Gabor Kelemen <kelemeng@gnome.hu>.
+
2006-08-16 Bruno Haible <bruno@clisp.org>
* gettext.texi (Plural Forms): Mention the use of ngettext without
Languages with this property include:
@table @asis
-@item Finno-Ugric family
-Hungarian
@item Asian family
Japanese, Korean, Vietnamese
@item Turkic/Altaic family
Esperanto
@end table
+@noindent
+Another language using the same header entry is:
+
+@table @asis
+@item Finno-Ugric family
+Hungarian
+@end table
+
+Hungarian does not appear to have a plural if you look at sentences involving
+ordinal numbers. For example, ``1 apple'' is ``1 alma'', and ``123 apples'' is
+``123 apples''. But when the number is not explicit, the distinction between
+singular and plural exists: ``the apple'' is ``az alma'', and ``the apples'' is
+``az alm@'{a}k''. Since @code{ngettext} has to support both types of sentences,
+it is classified here, under ``two forms''.
+
@item Two forms, singular used for zero and one
Exceptional case in the language family. The header entry would be:
+2006-08-16 Bruno Haible <bruno@clisp.org>
+
+ * plural-table.c (plural_table): Put Hungarian under nplurals=2.
+ Reported by Arpad Biro <biro_arpad@yahoo.com> and
+ Gabor Kelemen <kelemeng@gnome.hu>.
+
2006-08-16 Bruno Haible <bruno@clisp.org>
* read-mo.c: Include stdbool.h, stdlib.h, format.h.
/* Table of known plural form expressions.
- Copyright (C) 2001-2005 Free Software Foundation, Inc.
+ Copyright (C) 2001-2006 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2002.
This program is free software; you can redistribute it and/or modify
/* Formulas taken from the documentation, node "Plural forms". */
struct plural_table_entry plural_table[] =
{
- { "hu", "Hungarian", "nplurals=1; plural=0;" },
{ "ja", "Japanese", "nplurals=1; plural=0;" },
{ "ko", "Korean", "nplurals=1; plural=0;" },
{ "vi", "Vietnamese", "nplurals=1; plural=0;" },
{ "pt", "Portuguese", "nplurals=2; plural=(n != 1);" },
{ "es", "Spanish", "nplurals=2; plural=(n != 1);" },
{ "eo", "Esperanto", "nplurals=2; plural=(n != 1);" },
+ { "hu", "Hungarian", "nplurals=2; plural=(n != 1);" },
{ "fr", "French", "nplurals=2; plural=(n > 1);" },
{ "pt_BR", "Brazilian", "nplurals=2; plural=(n > 1);" },
{ "lv", "Latvian", "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" },
+2006-08-16 Bruno Haible <bruno@clisp.org>
+
+ * plural-2: Use Japanese, not Hungarian, as a test case for nplurals=1.
+
2006-08-16 Bruno Haible <bruno@clisp.org>
* msgunfmt-2: New file.
tmpfiles="$tmpfiles plural-2.data"
cat <<EOF > plural-2.data
-hu
+ja
0
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
de