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