Imported Upstream version 0.18.3.2
[platform/upstream/gettext.git] / gettext-tools / tests / msgfmt-17
1 #! /bin/sh
2
3 # Test range dependent checking of format strings with plural forms.
4
5 tmpfiles=""
6 trap 'rm -fr $tmpfiles' 1 2 3 15
7
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
13
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.
19 #
20 msgid ""
21 msgstr ""
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"
26 "Language: test\n"
27 "MIME-Version: 1.0\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"
31
32 #: ../roundup/date.py:851
33 #, python-format
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 четвертей"
39 EOF
40
41 : ${MSGFMT=msgfmt}
42 ${MSGFMT} --check -o /dev/null mf-17.po1 2>/dev/null
43 test $? = 1 || { rm -fr $tmpfiles; exit 1; }
44
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.
50 #
51 msgid ""
52 msgstr ""
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"
57 "Language: test\n"
58 "MIME-Version: 1.0\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"
62
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 четвертей"
70 EOF
71
72 : ${MSGFMT=msgfmt}
73 ${MSGFMT} --check -o /dev/null mf-17.po2
74 test $? = 0 || { rm -fr $tmpfiles; exit 1; }
75
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.
81 #
82 msgid ""
83 msgstr ""
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"
88 "Language: test\n"
89 "MIME-Version: 1.0\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"
93
94 #: ../roundup/date.py:851
95 #, python-format
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 четвертей"
101 EOF
102
103 : ${MSGFMT=msgfmt}
104 ${MSGFMT} --check -o /dev/null mf-17.po3 2>/dev/null
105 test $? = 1 || { rm -fr $tmpfiles; exit 1; }
106
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.
112 #
113 msgid ""
114 msgstr ""
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"
119 "Language: test\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"
124
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 четвертей"
132 EOF
133
134 : ${MSGFMT=msgfmt}
135 ${MSGFMT} --check -o /dev/null mf-17.po4 2>/dev/null
136 test $? = 1 || { rm -fr $tmpfiles; exit 1; }
137
138 rm -fr $tmpfiles
139
140 exit $result