| #! /bin/sh |
| . "${srcdir=.}/init.sh"; path_prepend_ . ../src |
| |
| # Test msgexec on a PO file with plurals. |
| |
| cat <<\EOF > mex-test5.po |
| msgid "" |
| msgstr "" |
| "Content-Type: text/plain; charset=ASCII\n" |
| "Plural-Forms: nplurals=2; plural=(n > 1);\n" |
| |
| #, c-format |
| msgid "'Your command, please?', asked the waiter." |
| msgstr "'Votre commande, s'il vous plait', dit le garcon." |
| |
| # Les gateaux allemands sont les meilleurs du monde. |
| #, c-format |
| #| msgid "a piece of bread" |
| #| msgid_plural "%d pieces of bread" |
| msgid "a piece of cake" |
| msgid_plural "%d pieces of cake" |
| msgstr[0] "un morceau de gateau" |
| msgstr[1] "%d morceaux de gateau" |
| |
| # Reverse the arguments. |
| #, c-format |
| msgid "%s is replaced by %s." |
| msgstr "%2$s remplace %1$s." |
| EOF |
| |
| cat <<\EOF > mex-test5.sh |
| #! /bin/sh |
| echo "========================= $MSGEXEC_LOCATION =========================" | LC_ALL=C tr -d '\r' |
| if test -n "${MSGEXEC_MSGCTXT+set}"; then |
| echo "context: $MSGEXEC_MSGCTXT" | LC_ALL=C tr -d '\r' |
| fi |
| cat <<MEOF |
| $MSGEXEC_MSGID |
| $MSGEXEC_MSGID_PLURAL |
| $MSGEXEC_PLURAL_FORM |
| $MSGEXEC_PREV_MSGID |
| $MSGEXEC_PREV_MSGID_PLURAL |
| --- |
| MEOF |
| cat |
| echo | LC_ALL=C tr -d '\r' |
| exit 0 |
| EOF |
| chmod a+x mex-test5.sh |
| |
| : ${MSGEXEC=msgexec} |
| LC_ALL=C \ |
| ${MSGEXEC} -i mex-test5.po ./mex-test5.sh > mex-test5.out 2> mex-test5.err |
| result=$? |
| cat mex-test5.err | grep -v 'warning: Locale charset' | grep -v '^ ' |
| test $result = 0 || { Exit 1; } |
| |
| cat <<\EOF > mex-test5.ok |
| ========================= mex-test5.po:2 ========================= |
| |
| |
| |
| |
| |
| --- |
| Content-Type: text/plain; charset=ASCII |
| Plural-Forms: nplurals=2; plural=(n > 1); |
| |
| ========================= mex-test5.po:8 ========================= |
| 'Your command, please?', asked the waiter. |
| |
| |
| |
| |
| --- |
| 'Votre commande, s'il vous plait', dit le garcon. |
| ========================= mex-test5.po:16 ========================= |
| a piece of cake |
| %d pieces of cake |
| 0 |
| a piece of bread |
| %d pieces of bread |
| --- |
| un morceau de gateau |
| ========================= mex-test5.po:16 ========================= |
| a piece of cake |
| %d pieces of cake |
| 1 |
| a piece of bread |
| %d pieces of bread |
| --- |
| %d morceaux de gateau |
| ========================= mex-test5.po:22 ========================= |
| %s is replaced by %s. |
| |
| |
| |
| |
| --- |
| %2$s remplace %1$s. |
| EOF |
| |
| : ${DIFF=diff} |
| ${DIFF} mex-test5.ok mex-test5.out |
| result=$? |
| |
| exit $result |