1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#! /bin/sh
# Test 'I' format directive flag.
tmpfiles=""
trap 'rm -fr $tmpfiles' 1 2 3 15
tmpfiles="$tmpfiles fc5.tmp fc5.pot"
: ${XGETTEXT=xgettext}
${XGETTEXT} -o fc5.tmp --omit-header --no-location ${top_srcdir}/tests/format-c-5-prg.c
test $? = 0 || { rm -fr $tmpfiles; exit 1; }
tr -d '\r' < fc5.tmp > fc5.pot
test $? = 0 || { rm -fr $tmpfiles; exit 1; }
tmpfiles="$tmpfiles fc5.ok"
cat <<EOF > fc5.ok
#, c-format
msgid "father of %d children"
msgstr ""
EOF
: ${DIFF=diff}
${DIFF} fc5.ok fc5.pot || exit 1
tmpfiles="$tmpfiles fa.po"
# This should better be Farsi, not German. Can some translator help me?
cat <<EOF > fa.po
#, c-format
msgid "father of %d children"
msgstr "Vater von %Id Kindern"
EOF
tmpfiles="$tmpfiles fa"
test -d fa || mkdir fa
test -d fa/LC_MESSAGES || mkdir fa/LC_MESSAGES
: ${MSGFMT=msgfmt}
${MSGFMT} -o fa/LC_MESSAGES/fc5.mo fa.po
tmpfiles="$tmpfiles fa.po.tmp fa.po.un"
: ${MSGUNFMT=msgunfmt}
${MSGUNFMT} -o fa.po.tmp fa/LC_MESSAGES/fc5.mo
test $? = 0 || { rm -fr $tmpfiles; exit 1; }
tr -d '\r' < fa.po.tmp > fa.po.un
test $? = 0 || { rm -fr $tmpfiles; exit 1; }
: ${DIFF=diff}
${DIFF} fa.po fa.po.un || exit 1
LANGUAGE= ./fc5 fa_IR
case $? in
0) ;;
77)
if test -f /usr/bin/localedef; then
echo "Skipping test: locale fa_IR not installed"
else
echo "Skipping test: locale fa_IR not supported"
fi
rm -fr $tmpfiles; exit 77;;
*) exit 1;;
esac
rm -fr $tmpfiles
exit 0
|