4 trap 'rm -fr $tmpfiles' 1 2 3 15
6 tmpfiles
="$tmpfiles ll ll.po dataout"
9 test -d ll
/LC_MESSAGES || mkdir ll
/LC_MESSAGES
11 tmpfiles
="$tmpfiles plural-2.data"
12 cat <<EOF > plural-2.data
15 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18 10111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
21 00111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
23 n==1 ? 0 : n==2 ? 1 : 2
24 20122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
26 n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2
27 20111111112222222222201111111120111111112011111111201111111120111111112011111111201111111120111111112011111111222222222220111111112011111111201111111120111111112011111111201111111120111111112011111111
29 n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2
30 20111222222222222222201112222220111222222011122222201112222220111222222011122222201112222220111222222011122222222222222220111222222011122222201112222220111222222011122222201112222220111222222011122222
32 n%100/10==1 ? 2 : n%10==1 ? 0 : (n+9)%10>3 ? 2 : 1
33 20111222222222222222201112222220111222222011122222201112222220111222222011122222201112222220111222222011122222222222222220111222222011122222201112222220111222222011122222201112222220111222222011122222
35 (n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2
36 20111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
38 n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2
39 20111222222222222222221112222222111222222211122222221112222222111222222211122222221112222222111222222211122222222222222222111222222211122222221112222222111222222211122222221112222222111222222211122222
41 n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3
42 30122333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333012233333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
51 "Content-Type: text/plain; charset=ASCII\n"
52 "Content-Transfer-Encoding: 8bit\n"
53 "Plural-Forms: nplurals=10; plural=${formula};\n"
68 ${MSGFMT} -o ll
/LC_MESSAGES
/plural.mo ll.po ||
exit 1
69 (for i
in '' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19; do
70 LANGUAGE
= TEXTDOMAIN
=plural TEXTDOMAINDIR
=. \
71 $NGETTEXT --env LC_ALL
=ll X Y
${i}0 ${i}1 ${i}2 ${i}3 ${i}4 ${i}5 ${i}6 ${i}7 ${i}8 ${i}9
73 test "$dataok" = `cat dataout` ||
{
74 echo "Formula evaluation error for language $lang" 1>&2
75 echo "plural=${formula}" 1>&2
76 echo "Expected: $dataok" 1>&2
77 echo "Got: "`cat dataout` 1>&2