| #! /bin/sh |
| . "${srcdir=.}/init.sh"; path_prepend_ . ../src |
| |
| # Test ISO C 99 <inttypes.h> format string directives with plural forms. |
| |
| : ${XGETTEXT=xgettext} |
| ${XGETTEXT} -o fc4.tmp --omit-header --no-location "$wabs_srcdir"/format-c-4-prg.c || Exit 1 |
| LC_ALL=C tr -d '\r' < fc4.tmp > fc4.pot || Exit 1 |
| |
| cat <<EOF > fc4.ok |
| #, c-format |
| msgid "father of %<PRId8> child" |
| msgid_plural "father of %<PRId8> children" |
| msgstr[0] "" |
| msgstr[1] "" |
| EOF |
| |
| : ${DIFF=diff} |
| ${DIFF} fc4.ok fc4.pot || Exit 1 |
| |
| cat <<EOF > fc4-de.po |
| #, c-format |
| msgid "father of %<PRId8> child" |
| msgid_plural "father of %<PRId8> children" |
| msgstr[0] "Vater eines Kindes" |
| msgstr[1] "Vater von %<PRId8> Kindern" |
| EOF |
| |
| test -d fc4-dir || mkdir fc4-dir |
| test -d fc4-dir/fr || mkdir fc4-dir/fr |
| test -d fc4-dir/fr/LC_MESSAGES || mkdir fc4-dir/fr/LC_MESSAGES |
| |
| : ${MSGFMT=msgfmt} |
| ${MSGFMT} -o fc4-dir/fr/LC_MESSAGES/fc4.mo fc4-de.po |
| |
| : ${MSGUNFMT=msgunfmt} |
| ${MSGUNFMT} -o fc4-de.po.tmp fc4-dir/fr/LC_MESSAGES/fc4.mo || Exit 1 |
| LC_ALL=C tr -d '\r' < fc4-de.po.tmp > fc4-de.po.un || Exit 1 |
| |
| : ${DIFF=diff} |
| ${DIFF} fc4-de.po fc4-de.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= ../fc4 fr_FR || Exit 1 |
| |
| 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_ fc4-dir/fr fc4-dir/$LOCALE_FR |
| LANGUAGE= ../fc4 $LOCALE_FR || Exit 1 |
| fi |
| if test $LOCALE_FR_UTF8 != none; then |
| prepare_locale_ fc4-dir/fr fc4-dir/$LOCALE_FR_UTF8 |
| LANGUAGE= ../fc4 $LOCALE_FR_UTF8 || Exit 1 |
| 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 |