1#! /bin/sh 2. "${srcdir=.}/init.sh"; path_prepend_ . ../src 3 4: ${MSGFMT=msgfmt} 5test -d plural-2-dir || mkdir plural-2-dir 6test -d plural-2-dir/ll || mkdir plural-2-dir/ll 7test -d plural-2-dir/ll/LC_MESSAGES || mkdir plural-2-dir/ll/LC_MESSAGES 8 9cat <<EOF > plural-2.data 10ja 110 1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 13de 14n != 1 1510111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 16fr 17n>1 1800111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 19gd 20n==1 ? 0 : n==2 ? 1 : 2 2120122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 22ro 23n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2 2410111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222 25lt 26n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2 2720111111112222222222201111111120111111112011111111201111111120111111112011111111201111111120111111112011111111222222222220111111112011111111201111111120111111112011111111201111111120111111112011111111 28ru-gettext 29n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2 3020111222222222222222201112222220111222222011122222201112222220111222222011122222201112222220111222222011122222222222222220111222222011122222201112222220111222222011122222201112222220111222222011122222 31ru-glibc 32n%100/10==1 ? 2 : n%10==1 ? 0 : (n+9)%10>3 ? 2 : 1 3320111222222222222222201112222220111222222011122222201112222220111222222011122222201112222220111222222011122222222222222220111222222011122222201112222220111222222011122222201112222220111222222011122222 34sk 35(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2 3620111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 37pl 38n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2 3920111222222222222222221112222222111222222211122222221112222222111222222211122222221112222222111222222211122222222222222222111222222211122222221112222222111222222211122222221112222222111222222211122222 40sl 41n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3 4230122333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333012233333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 43EOF 44while read lang; do 45 read formula 46 read dataok 47 cat > plural-2-ll.po <<EOF 48msgid "" 49msgstr "" 50"MIME-Version: 1.0\n" 51"Content-Type: text/plain; charset=ASCII\n" 52"Content-Transfer-Encoding: 8bit\n" 53"Plural-Forms: nplurals=10; plural=${formula};\n" 54 55msgid "X" 56msgid_plural "Y" 57msgstr[0] "0" 58msgstr[1] "1" 59msgstr[2] "2" 60msgstr[3] "3" 61msgstr[4] "4" 62msgstr[5] "5" 63msgstr[6] "6" 64msgstr[7] "7" 65msgstr[8] "8" 66msgstr[9] "9" 67EOF 68 ${MSGFMT} -o plural-2-dir/ll/LC_MESSAGES/plural.mo plural-2-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=plural-2-dir \ 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 72 done) > dataout 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 78 Exit 1 79 } 80done < plural-2.data 81 82Exit 0 83