3 # Test range dependent checking of format strings with plural forms.
6 trap 'rm -fr $tmpfiles' 1 2 3 15
8 # Take as example a plural formula which takes all values infinitely often.
9 # Test: 1 - lack %d for value 0 - error
10 # 2 - lack %d for value 0 but limited range such that only one n - ok
11 # 3 - lack %d for value 1 - error
12 # 4 - lack %d for value 1 but limited range such that multiple n - error
14 tmpfiles="$tmpfiles mf-17.po1"
15 cat <<\EOF > mf-17.po1
16 # SOME DESCRIPTIVE TITLE.
17 # Copyright (C) YEAR Free Software Foundation, Inc.
18 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
22 "Project-Id-Version: GNU bison\n"
23 "PO-Revision-Date: 2001-04-05 19:47+0200\n"
24 "Last-Translator: ABC DEF <abc@gnu.uucp>\n"
25 "Language-Team: test <test@li.org>\n"
28 "Content-Type: text/plain; charset=UTF-8\n"
29 "Content-Transfer-Encoding: 8bit\n"
30 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
32 #: ../roundup/date.py:851
34 msgid "1 %(number)s/4 hours"
35 msgid_plural "1 %(number)s/4 hours"
36 msgstr[0] "час с четвертью"
37 msgstr[1] "час и %(number)s четверти"
38 msgstr[2] "час и %(number)s четвертей"
42 ${MSGFMT} --check -o /dev/null mf-17.po1 2>/dev/null
43 test $? = 1 || { rm -fr $tmpfiles; exit 1; }
45 tmpfiles="$tmpfiles mf-17.po2"
46 cat <<\EOF > mf-17.po2
47 # SOME DESCRIPTIVE TITLE.
48 # Copyright (C) YEAR Free Software Foundation, Inc.
49 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
53 "Project-Id-Version: GNU bison\n"
54 "PO-Revision-Date: 2001-04-05 19:47+0200\n"
55 "Last-Translator: ABC DEF <abc@gnu.uucp>\n"
56 "Language-Team: test <test@li.org>\n"
59 "Content-Type: text/plain; charset=UTF-8\n"
60 "Content-Transfer-Encoding: 8bit\n"
61 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
63 #: ../roundup/date.py:851
64 #, python-format, range: 1..3
65 msgid "1 %(number)s/4 hours"
66 msgid_plural "1 %(number)s/4 hours"
67 msgstr[0] "час с четвертью"
68 msgstr[1] "час и %(number)s четверти"
69 msgstr[2] "час и %(number)s четвертей"
73 ${MSGFMT} --check -o /dev/null mf-17.po2
74 test $? = 0 || { rm -fr $tmpfiles; exit 1; }
76 tmpfiles="$tmpfiles mf-17.po3"
77 cat <<\EOF > mf-17.po3
78 # SOME DESCRIPTIVE TITLE.
79 # Copyright (C) YEAR Free Software Foundation, Inc.
80 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
84 "Project-Id-Version: GNU bison\n"
85 "PO-Revision-Date: 2001-04-05 19:47+0200\n"
86 "Last-Translator: ABC DEF <abc@gnu.uucp>\n"
87 "Language-Team: test <test@li.org>\n"
90 "Content-Type: text/plain; charset=UTF-8\n"
91 "Content-Transfer-Encoding: 8bit\n"
92 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
94 #: ../roundup/date.py:851
96 msgid "1 %(number)s/4 hours"
97 msgid_plural "1 %(number)s/4 hours"
98 msgstr[0] "час и %(number)s четверти"
99 msgstr[1] "час с четвертью"
100 msgstr[2] "час и %(number)s четвертей"
104 ${MSGFMT} --check -o /dev/null mf-17.po3 2>/dev/null
105 test $? = 1 || { rm -fr $tmpfiles; exit 1; }
107 tmpfiles="$tmpfiles mf-17.po4"
108 cat <<\EOF > mf-17.po4
109 # SOME DESCRIPTIVE TITLE.
110 # Copyright (C) YEAR Free Software Foundation, Inc.
111 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
115 "Project-Id-Version: GNU bison\n"
116 "PO-Revision-Date: 2001-04-05 19:47+0200\n"
117 "Last-Translator: ABC DEF <abc@gnu.uucp>\n"
118 "Language-Team: test <test@li.org>\n"
120 "MIME-Version: 1.0\n"
121 "Content-Type: text/plain; charset=UTF-8\n"
122 "Content-Transfer-Encoding: 8bit\n"
123 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
125 #: ../roundup/date.py:851
126 #, python-format, range: 1..3
127 msgid "1 %(number)s/4 hours"
128 msgid_plural "1 %(number)s/4 hours"
129 msgstr[0] "час и %(number)s четверти"
130 msgstr[1] "час с четвертью"
131 msgstr[2] "час и %(number)s четвертей"
135 ${MSGFMT} --check -o /dev/null mf-17.po4 2>/dev/null
136 test $? = 1 || { rm -fr $tmpfiles; exit 1; }