1#! /bin/sh 2 3tmpfiles="" 4trap 'rm -fr $tmpfiles' 1 2 3 15 5 6tmpfiles="$tmpfiles cake.tmp cake.pot" 7: ${XGETTEXT=xgettext} 8${XGETTEXT} -o cake.tmp --omit-header --no-location ${top_srcdir}/tests/plural-1-prg.c 9test $? = 0 || { rm -fr $tmpfiles; exit 1; } 10tr -d '\r' < cake.tmp > cake.pot 11test $? = 0 || { rm -fr $tmpfiles; exit 1; } 12 13tmpfiles="$tmpfiles cake.ok" 14cat <<EOF > cake.ok 15#, c-format 16msgid "a piece of cake" 17msgid_plural "%d pieces of cake" 18msgstr[0] "" 19msgstr[1] "" 20EOF 21 22: ${DIFF=diff} 23${DIFF} cake.ok cake.pot || exit 1 24 25tmpfiles="$tmpfiles fr.po" 26cat <<EOF > fr.po 27# Les gateaux allemands sont les meilleurs du monde. 28#, c-format 29msgid "a piece of cake" 30msgid_plural "%d pieces of cake" 31msgstr[0] "un morceau de gateau" 32msgstr[1] "%d morceaux de gateau" 33EOF 34 35tmpfiles="$tmpfiles fr.po.tmp fr.po.new" 36: ${MSGMERGE=msgmerge} 37${MSGMERGE} -q -o fr.po.tmp fr.po cake.pot 38test $? = 0 || { rm -fr $tmpfiles; exit 1; } 39tr -d '\r' < fr.po.tmp > fr.po.new 40test $? = 0 || { rm -fr $tmpfiles; exit 1; } 41 42: ${DIFF=diff} 43${DIFF} fr.po fr.po.new || exit 1 44 45tmpfiles="$tmpfiles fr" 46test -d fr || mkdir fr 47test -d fr/LC_MESSAGES || mkdir fr/LC_MESSAGES 48 49: ${MSGFMT=msgfmt} 50${MSGFMT} -o fr/LC_MESSAGES/cake.mo fr.po 51 52tmpfiles="$tmpfiles fr.po.tmp fr.po.un" 53: ${MSGUNFMT=msgunfmt} 54${MSGUNFMT} -o fr.po.tmp fr/LC_MESSAGES/cake.mo 55test $? = 0 || { rm -fr $tmpfiles; exit 1; } 56tr -d '\r' < fr.po.tmp > fr.po.un 57test $? = 0 || { rm -fr $tmpfiles; exit 1; } 58 59tmpfiles="$tmpfiles fr.po.strip" 60sed 1,2d < fr.po > fr.po.strip 61 62: ${DIFF=diff} 63${DIFF} fr.po.strip fr.po.un || exit 1 64 65tmpfiles="$tmpfiles cake.ok cake.tmp cake.out" 66: ${DIFF=diff} 67echo 'un morceau de gateau' > cake.ok 68LANGUAGE= ./cake fr 1 > cake.tmp || exit 1 69tr -d '\r' < cake.tmp > cake.out || exit 1 70${DIFF} cake.ok cake.out || exit 1 71echo '2 morceaux de gateau' > cake.ok 72LANGUAGE= ./cake fr 2 > cake.tmp || exit 1 73tr -d '\r' < cake.tmp > cake.out || exit 1 74${DIFF} cake.ok cake.out || exit 1 75echo '10 morceaux de gateau' > cake.ok 76LANGUAGE= ./cake fr 10 > cake.tmp || exit 1 77tr -d '\r' < cake.tmp > cake.out || exit 1 78${DIFF} cake.ok cake.out || exit 1 79 80rm -fr $tmpfiles 81 82exit 0 83