• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#! /bin/sh
2. "${srcdir=.}/init.sh"; path_prepend_ . ../src
3
4# Test of gettext facilities in the Emacs Lisp language.
5
6cat <<\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"))
14EOF
15
16: ${XGETTEXT=xgettext}
17${XGETTEXT} -o prog.tmp --omit-header --no-location prog.el || Exit 1
18LC_ALL=C tr -d '\r' < prog.tmp > prog.pot || Exit 1
19
20cat <<EOF > prog.ok
21msgid "'Your command, please?', asked the waiter."
22msgstr ""
23
24#, elisp-format
25msgid "%s is replaced by %s."
26msgstr ""
27EOF
28
29: ${DIFF=diff}
30${DIFF} prog.ok prog.pot || Exit 1
31
32cat <<\EOF > fr.po
33msgid ""
34msgstr ""
35"Content-Type: text/plain; charset=ISO-8859-1\n"
36"Plural-Forms: nplurals=2; plural=(n > 1);\n"
37
38msgid "'Your command, please?', asked the waiter."
39msgstr "�Votre commande, s'il vous plait�, dit le gar�on."
40
41# Reverse the arguments.
42#, elisp-format
43msgid "%s is replaced by %s."
44msgstr "%2$s remplace %1$s."
45EOF
46
47: ${MSGMERGE=msgmerge}
48${MSGMERGE} -q -o fr.po.tmp fr.po prog.pot || Exit 1
49LC_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
54test -d fr || mkdir fr
55test -d fr/LC_MESSAGES || mkdir fr/LC_MESSAGES
56
57: ${MSGFMT=msgfmt}
58${MSGFMT} -o fr/LC_MESSAGES/prog.mo fr.po
59
60Exit 0
61