The documentation and file gettext-tools/src/plural-table.c mention that
Brazilian Portuguese uses the singular form for 0 and 1, and plural for
n>1. That's incorrect in that the singular form is only used for 1, 0
uses the plural form just like English and many other languages. I'm
attaching a patch that fixes that.

A second patch adds the plural form for pt to the table.

-- 
Eduardo M KALINOWSKI
edua...@kalinowski.com.br

From 6bd165c247c58412139486d8daefecb5eed59ad1 Mon Sep 17 00:00:00 2001
From: Eduardo M KALINOWSKI <edua...@kalinowski.com.br>
Date: Fri, 1 Jan 2016 11:45:08 -0200
Subject: [PATCH 1/2] Correct pt_BR plural form Brazilian Portuguese (like many
 other languages) has a form for one item and another for any other quantity,
 including 0. The previous formula was using the singular form for 0.

---
 gettext-tools/doc/gettext.texi   | 1 -
 gettext-tools/src/plural-table.c | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/gettext-tools/doc/gettext.texi b/gettext-tools/doc/gettext.texi
index 8391073..2e8796e 100644
--- a/gettext-tools/doc/gettext.texi
+++ b/gettext-tools/doc/gettext.texi
@@ -6327,7 +6327,6 @@ Languages with this property include:
 
 @table @asis
 @item Romanic family
-Brazilian Portuguese, @c 163 million speakers
 French @c                 67.8 million speakers
 @end table
 
diff --git a/gettext-tools/src/plural-table.c b/gettext-tools/src/plural-table.c
index 25c0bd6..0fe47e0 100644
--- a/gettext-tools/src/plural-table.c
+++ b/gettext-tools/src/plural-table.c
@@ -49,7 +49,7 @@ struct plural_table_entry plural_table[] =
     { "eo", "Esperanto",         "nplurals=2; plural=(n != 1);" },
     { "hu", "Hungarian",         "nplurals=2; plural=(n != 1);" },
     { "tr", "Turkish",           "nplurals=2; plural=(n != 1);" },
-    { "pt_BR", "Brazilian",      "nplurals=2; plural=(n > 1);" },
+    { "pt_BR", "Brazilian",      "nplurals=2; plural=(n != 1);" },
     { "fr", "French",            "nplurals=2; plural=(n > 1);" },
     { "lv", "Latvian",           "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" },
     { "ga", "Irish",             "nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;" },
-- 
2.6.4

From d768886915e5769018ebc53749a5b98bc68397f7 Mon Sep 17 00:00:00 2001
From: Eduardo M KALINOWSKI <edua...@kalinowski.com.br>
Date: Fri, 1 Jan 2016 11:51:27 -0200
Subject: [PATCH 2/2] Include entry for (European) Portuguese plural form.

---
 gettext-tools/src/plural-table.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gettext-tools/src/plural-table.c b/gettext-tools/src/plural-table.c
index 0fe47e0..a6963b5 100644
--- a/gettext-tools/src/plural-table.c
+++ b/gettext-tools/src/plural-table.c
@@ -49,6 +49,7 @@ struct plural_table_entry plural_table[] =
     { "eo", "Esperanto",         "nplurals=2; plural=(n != 1);" },
     { "hu", "Hungarian",         "nplurals=2; plural=(n != 1);" },
     { "tr", "Turkish",           "nplurals=2; plural=(n != 1);" },
+    { "pt", "Portuguese",        "nplurals=2; plural=(n != 1);" },
     { "pt_BR", "Brazilian",      "nplurals=2; plural=(n != 1);" },
     { "fr", "French",            "nplurals=2; plural=(n > 1);" },
     { "lv", "Latvian",           "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" },
-- 
2.6.4

Reply via email to