#! /bin/sh . "${srcdir=.}/init.sh"; path_prepend_ . ../src : ${XGETTEXT=xgettext} ${XGETTEXT} -o plural-1-cake.tmp --omit-header --no-location "$wabs_srcdir"/plural-1-prg.c || Exit 1 LC_ALL=C tr -d '\r' < plural-1-cake.tmp > plural-1-cake.pot || Exit 1 cat < plural-1-cake.ok #, c-format msgid "a piece of cake" msgid_plural "%d pieces of cake" msgstr[0] "" msgstr[1] "" EOF : ${DIFF=diff} ${DIFF} plural-1-cake.ok plural-1-cake.pot || Exit 1 cat < plural-1-fr.po # Les gateaux allemands sont les meilleurs du monde. #, c-format msgid "a piece of cake" msgid_plural "%d pieces of cake" msgstr[0] "un morceau de gateau" msgstr[1] "%d morceaux de gateau" EOF : ${MSGMERGE=msgmerge} ${MSGMERGE} -q -o plural-1-fr.po.tmp plural-1-fr.po plural-1-cake.pot || Exit 1 LC_ALL=C tr -d '\r' < plural-1-fr.po.tmp > plural-1-fr.po.new || Exit 1 : ${DIFF=diff} ${DIFF} plural-1-fr.po plural-1-fr.po.new || Exit 1 test -d plural-1-dir || mkdir plural-1-dir test -d plural-1-dir/fr || mkdir plural-1-dir/fr test -d plural-1-dir/fr/LC_MESSAGES || mkdir plural-1-dir/fr/LC_MESSAGES : ${MSGFMT=msgfmt} ${MSGFMT} -o plural-1-dir/fr/LC_MESSAGES/cake.mo plural-1-fr.po : ${MSGUNFMT=msgunfmt} ${MSGUNFMT} -o plural-1-fr.po.tmp plural-1-dir/fr/LC_MESSAGES/cake.mo || Exit 1 LC_ALL=C tr -d '\r' < plural-1-fr.po.tmp > plural-1-fr.po.un || Exit 1 sed 1,2d < plural-1-fr.po > plural-1-fr.po.strip : ${DIFF=diff} ${DIFF} plural-1-fr.po.strip plural-1-fr.po.un || Exit 1 func_do_test () { echo 'un morceau de gateau' > plural-1-cake.ok LANGUAGE= ../cake "$1" 1 > plural-1-cake.tmp || Exit 1 LC_ALL=C tr -d '\r' < plural-1-cake.tmp > cake.out || Exit 1 ${DIFF} plural-1-cake.ok cake.out || Exit 1 echo '2 morceaux de gateau' > plural-1-cake.ok LANGUAGE= ../cake "$1" 2 > plural-1-cake.tmp || Exit 1 LC_ALL=C tr -d '\r' < plural-1-cake.tmp > cake.out || Exit 1 ${DIFF} plural-1-cake.ok cake.out || Exit 1 echo '10 morceaux de gateau' > plural-1-cake.ok LANGUAGE= ../cake "$1" 10 > plural-1-cake.tmp || Exit 1 LC_ALL=C tr -d '\r' < plural-1-cake.tmp > cake.out || Exit 1 ${DIFF} plural-1-cake.ok cake.out || Exit 1 } if test -z "$USE_SYSTEM_LIBINTL"; then # In the tests/ dir: Rely on a fake setlocale, so that we can exercise # the test on all platforms. func_do_test fr else # In the system-tests/ dir: Don't use a fake setlocale. : ${LOCALE_FR=fr_FR} : ${LOCALE_FR_UTF8=fr_FR.UTF-8} if test $LOCALE_FR != none; then prepare_locale_ plural-1-dir/fr plural-1-dir/$LOCALE_FR func_do_test $LOCALE_FR fi if test $LOCALE_FR_UTF8 != none; then prepare_locale_ plural-1-dir/fr plural-1-dir/$LOCALE_FR_UTF8 func_do_test $LOCALE_FR_UTF8 fi if test $LOCALE_FR = none && test $LOCALE_FR_UTF8 = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no french locale is installed" else echo "Skipping test: no french locale is supported" fi Exit 77 fi fi Exit 0