1 #! /bin/sh 2 3 # Test msgfmt and msgunfmt on a PO file with contexts. 4 5 tmpfiles="" 6 trap 'rm -fr $tmpfiles' 1 2 3 15 7 8 tmpfiles="$tmpfiles mf-14.po" 9 cat <<\EOF > mf-14.po 10 msgid "" 11 msgstr "" 12 "Content-Type: text/plain; charset=UTF-8\n" 13 "Content-Transfer-Encoding: 8bit\n" 14 15 #. A menu item 16 msgctxt "File|" 17 msgid "Open" 18 msgstr "Ouvrir" 19 20 #. A menu item 21 msgctxt "File|" 22 msgid "New" 23 msgstr "Nouveau" 24 25 #. Denote a lock's state 26 msgctxt "Lock state" 27 msgid "Open" 28 msgstr "Ouvert" 29 30 #. Denote a lock's state 31 msgctxt "Lock state" 32 msgid "Closed" 33 msgstr "Ferm" 34 35 #. A product 36 msgctxt "Audi" 37 msgid "car" 38 msgstr "voiture" 39 40 #. A product 41 msgctxt "Oc" 42 msgid "copier" 43 msgstr "photocopieur" 44 45 #~ msgid "Save As" 46 #~ msgstr "Enregistrer l'as" 47 48 #. A menu item 49 #~ msgctxt "File|" 50 #~ msgid "Save As" 51 #~ msgstr "Enregistrer sous" 52 EOF 53 54 tmpfiles="$tmpfiles mf-14.mo" 55 : ${MSGFMT=msgfmt} 56 ${MSGFMT} -o mf-14.mo mf-14.po 57 test $? = 0 || { rm -fr $tmpfiles; exit 1; } 58 59 tmpfiles="$tmpfiles mf-14.out" 60 : ${MSGUNFMT=msgunfmt} 61 ${MSGUNFMT} -o mf-14.out mf-14.mo 62 test $? = 0 || { rm -fr $tmpfiles; exit 1; } 63 64 tmpfiles="$tmpfiles mf-14.ok" 65 cat <<\EOF > mf-14.ok 66 msgid "" 67 msgstr "" 68 "Content-Type: text/plain; charset=UTF-8\n" 69 "Content-Transfer-Encoding: 8bit\n" 70 71 msgctxt "Audi" 72 msgid "car" 73 msgstr "voiture" 74 75 msgctxt "File|" 76 msgid "New" 77 msgstr "Nouveau" 78 79 msgctxt "File|" 80 msgid "Open" 81 msgstr "Ouvrir" 82 83 msgctxt "Lock state" 84 msgid "Closed" 85 msgstr "Ferm" 86 87 msgctxt "Lock state" 88 msgid "Open" 89 msgstr "Ouvert" 90 91 msgctxt "Oc" 92 msgid "copier" 93 msgstr "photocopieur" 94 EOF 95 96 : ${DIFF=diff} 97 ${DIFF} mf-14.ok mf-14.out 98 result=$? 99 100 rm -fr $tmpfiles 101 102 exit $result 103