Imported Upstream version 0.19.7
[platform/upstream/gettext.git] / gettext-tools / tests / lang-elisp
1 #! /bin/sh
2 . "${srcdir=.}/init.sh"; path_prepend_ . ../src
3
4 # Test of gettext facilities in the Emacs Lisp language.
5
6 cat <<\EOF > prog.el
7 (textdomain "prog")
8 (bindtextdomain "prog" ".")
9
10 (format standard-output "%s\n" (_ "'Your command, please?', asked the waiter."))
11
12 (format standard-output "%s\n"
13         (format nil (_ "%s is replaced by %s.") "FF" "EUR"))
14 EOF
15
16 : ${XGETTEXT=xgettext}
17 ${XGETTEXT} -o prog.tmp --omit-header --no-location prog.el || exit 1
18 LC_ALL=C tr -d '\r' < prog.tmp > prog.pot || exit 1
19
20 cat <<EOF > prog.ok
21 msgid "'Your command, please?', asked the waiter."
22 msgstr ""
23
24 #, elisp-format
25 msgid "%s is replaced by %s."
26 msgstr ""
27 EOF
28
29 : ${DIFF=diff}
30 ${DIFF} prog.ok prog.pot || exit 1
31
32 cat <<\EOF > fr.po
33 msgid ""
34 msgstr ""
35 "Content-Type: text/plain; charset=ISO-8859-1\n"
36 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
37
38 msgid "'Your command, please?', asked the waiter."
39 msgstr "«Votre commande, s'il vous plait», dit le garçon."
40
41 # Reverse the arguments.
42 #, elisp-format
43 msgid "%s is replaced by %s."
44 msgstr "%2$s remplace %1$s."
45 EOF
46
47 : ${MSGMERGE=msgmerge}
48 ${MSGMERGE} -q -o fr.po.tmp fr.po prog.pot || exit 1
49 LC_ALL=C tr -d '\r' < fr.po.tmp > fr.po.new || exit 1
50
51 : ${DIFF=diff}
52 ${DIFF} fr.po fr.po.new || exit 1
53
54 test -d fr || mkdir fr
55 test -d fr/LC_MESSAGES || mkdir fr/LC_MESSAGES
56
57 : ${MSGFMT=msgfmt}
58 ${MSGFMT} -o fr/LC_MESSAGES/prog.mo fr.po
59
60 exit 0