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