blob: b8111eed357969a945f86b7db34011f0f347a519 [file] [log] [blame]
#! /bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src
# Test 'I' format directive flag.
: ${XGETTEXT=xgettext}
${XGETTEXT} -o fc5.tmp --omit-header --no-location "$wabs_srcdir"/format-c-5-prg.c || Exit 1
LC_ALL=C tr -d '\r' < fc5.tmp > fc5.pot || Exit 1
cat <<EOF > fc5.ok
#, c-format
msgid "father of %d children"
msgstr ""
EOF
: ${DIFF=diff}
${DIFF} fc5.ok fc5.pot || Exit 1
# 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
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
: ${MSGUNFMT=msgunfmt}
${MSGUNFMT} -o fa.po.tmp fa/LC_MESSAGES/fc5.mo || Exit 1
LC_ALL=C tr -d '\r' < fa.po.tmp > fa.po.un || Exit 1
: ${DIFF=diff}
${DIFF} fa.po fa.po.un || 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.
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
Exit 77;;
*) Exit 1;;
esac
else
# In the system-tests/ dir: Don't use a fake setlocale.
skipped=true
prepare_locale_ fa fa_IR
LANGUAGE= ../fc5 fa_IR
case $? in
0) skipped=false ;;
77) ;;
*) Exit 1;;
esac
prepare_locale_ fa fa_IR.UTF-8
LANGUAGE= ../fc5 fa_IR.UTF-8
case $? in
0) skipped=false ;;
77) ;;
*) Exit 1;;
esac
if $skipped; then
if test -f /usr/bin/localedef; then
echo "Skipping test: no Farsi locale is installed"
else
echo "Skipping test: no Farsi locale is supported"
fi
Exit 77
fi
fi
Exit 0