| /* Table of known plural form expressions. |
| Copyright (C) 2001-2006, 2009-2010 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 |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation; either version 3 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program. If not, see <https://www.gnu.org/licenses/>. */ |
| |
| #ifdef HAVE_CONFIG_H |
| # include "config.h" |
| #endif |
| |
| /* Specification. */ |
| #include "plural-table.h" |
| |
| /* Formulas taken from the documentation, node "Plural forms". */ |
| struct plural_table_entry plural_table[] = |
| { |
| { "ja", "Japanese", "nplurals=1; plural=0;" }, |
| { "vi", "Vietnamese", "nplurals=1; plural=0;" }, |
| { "ko", "Korean", "nplurals=1; plural=0;" }, |
| { "en", "English", "nplurals=2; plural=(n != 1);" }, |
| { "de", "German", "nplurals=2; plural=(n != 1);" }, |
| { "nl", "Dutch", "nplurals=2; plural=(n != 1);" }, |
| { "sv", "Swedish", "nplurals=2; plural=(n != 1);" }, |
| { "da", "Danish", "nplurals=2; plural=(n != 1);" }, |
| { "no", "Norwegian", "nplurals=2; plural=(n != 1);" }, |
| { "nb", "Norwegian Bokmal", "nplurals=2; plural=(n != 1);" }, |
| { "nn", "Norwegian Nynorsk", "nplurals=2; plural=(n != 1);" }, |
| { "fo", "Faroese", "nplurals=2; plural=(n != 1);" }, |
| { "es", "Spanish", "nplurals=2; plural=(n != 1);" }, |
| { "pt", "Portuguese", "nplurals=2; plural=(n != 1);" }, |
| { "it", "Italian", "nplurals=2; plural=(n != 1);" }, |
| { "bg", "Bulgarian", "nplurals=2; plural=(n != 1);" }, |
| { "el", "Greek", "nplurals=2; plural=(n != 1);" }, |
| { "fi", "Finnish", "nplurals=2; plural=(n != 1);" }, |
| { "et", "Estonian", "nplurals=2; plural=(n != 1);" }, |
| { "he", "Hebrew", "nplurals=2; plural=(n != 1);" }, |
| { "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);" }, |
| { "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;" }, |
| { "ro", "Romanian", "nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2;" }, |
| { "lt", "Lithuanian", "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);" }, |
| { "ru", "Russian", "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" }, |
| { "uk", "Ukrainian", "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" }, |
| { "be", "Belarusian", "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" }, |
| { "sr", "Serbian", "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" }, |
| { "hr", "Croatian", "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" }, |
| { "cs", "Czech", "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" }, |
| { "sk", "Slovak", "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" }, |
| { "pl", "Polish", "nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" }, |
| { "sl", "Slovenian", "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" } |
| }; |
| const size_t plural_table_size = sizeof (plural_table) / sizeof (plural_table[0]); |