Home | History | Annotate | Line # | Download | only in tests
msgmerge-18 revision 1.1
      1 #! /bin/sh
      2 
      3 # Test msgmerge and msgcmp on a PO file with contexts.
      4 
      5 tmpfiles=""
      6 trap 'rm -fr $tmpfiles' 1 2 3 15
      7 
      8 tmpfiles="$tmpfiles mm-test18.po"
      9 cat <<\EOF > mm-test18.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 #. A menu item
     26 msgctxt "File|"
     27 msgid "Save As"
     28 msgstr "Enregistrer sous"
     29 
     30 msgid "Save As"
     31 msgstr "Enregistrer l'as"
     32 
     33 #. Denote a lock's state
     34 msgctxt "Lock state"
     35 msgid "Open"
     36 msgstr "Ouvert"
     37 
     38 #. Denote a lock's state
     39 msgctxt "Lock state"
     40 msgid "Closed"
     41 msgstr "Ferm"
     42 
     43 #. A product
     44 msgctxt "Audi"
     45 msgid "car"
     46 msgstr "voiture"
     47 
     48 #. A product
     49 msgctxt "Oc"
     50 msgid "copier"
     51 msgstr "photocopieur"
     52 EOF
     53 
     54 tmpfiles="$tmpfiles mm-test18.pot"
     55 cat <<\EOF > mm-test18.pot
     56 # SOME DESCRIPTIVE TITLE.
     57 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
     58 # This file is distributed under the same license as the PACKAGE package.
     59 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
     60 #
     61 #, fuzzy
     62 msgid ""
     63 msgstr ""
     64 "Project-Id-Version: PACKAGE VERSION\n"
     65 "Report-Msgid-Bugs-To: \n"
     66 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
     67 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     68 "Language-Team: LANGUAGE <LL (at] li.org>\n"
     69 "MIME-Version: 1.0\n"
     70 "Content-Type: text/plain; charset=UTF-8\n"
     71 "Content-Transfer-Encoding: 8bit\n"
     72 
     73 #. A menu item
     74 msgctxt "File|"
     75 msgid "Open"
     76 msgstr ""
     77 
     78 #. A menu item
     79 msgctxt "File|"
     80 msgid "New"
     81 msgstr ""
     82 
     83 #. A menu item
     84 msgctxt "File|"
     85 msgid "Close"
     86 msgstr ""
     87 
     88 #. Denote a lock's state
     89 msgctxt "Lock state"
     90 msgid "Open"
     91 msgstr ""
     92 
     93 #. Denote a lock's state
     94 msgctxt "Lock state"
     95 msgid "Closed"
     96 msgstr ""
     97 
     98 #. Denote a door's state
     99 msgctxt "Door state"
    100 msgid "Open"
    101 msgstr ""
    102 
    103 #. Denote a door's state
    104 msgctxt "Door state"
    105 msgid "Closed"
    106 msgstr ""
    107 
    108 #. A product
    109 msgctxt "Audi"
    110 msgid "car"
    111 msgstr ""
    112 
    113 #. A product
    114 msgctxt "Oc"
    115 msgid "copier"
    116 msgstr ""
    117 EOF
    118 
    119 : ${MSGCMP=msgcmp}
    120 ${MSGCMP} --use-fuzzy --use-untranslated mm-test18.po mm-test18.pot 2>/dev/null
    121 test $? = 1 || { rm -fr $tmpfiles; exit 1; }
    122 
    123 tmpfiles="$tmpfiles mm-test18.new.po"
    124 : ${MSGMERGE=msgmerge}
    125 ${MSGMERGE} -q -o mm-test18.new.po mm-test18.po mm-test18.pot
    126 test $? = 0 || { rm -fr $tmpfiles; exit 1; }
    127 
    128 tmpfiles="$tmpfiles mm-test18.ok"
    129 # Note that the fuzzy guess for "Open" in context "Door state" could be either
    130 # "Ouvrir" (from context "File|") or "Ouvert" (from context "Lock state").
    131 cat <<\EOF > mm-test18.ok
    132 msgid ""
    133 msgstr ""
    134 "Report-Msgid-Bugs-To: \n"
    135 "Content-Type: text/plain; charset=UTF-8\n"
    136 "Content-Transfer-Encoding: 8bit\n"
    137 
    138 #. A menu item
    139 msgctxt "File|"
    140 msgid "Open"
    141 msgstr "Ouvrir"
    142 
    143 #. A menu item
    144 msgctxt "File|"
    145 msgid "New"
    146 msgstr "Nouveau"
    147 
    148 #. A menu item
    149 #, fuzzy
    150 msgctxt "File|"
    151 msgid "Close"
    152 msgstr "Ferm"
    153 
    154 #. Denote a lock's state
    155 msgctxt "Lock state"
    156 msgid "Open"
    157 msgstr "Ouvert"
    158 
    159 #. Denote a lock's state
    160 msgctxt "Lock state"
    161 msgid "Closed"
    162 msgstr "Ferm"
    163 
    164 #. Denote a door's state
    165 #, fuzzy
    166 msgctxt "Door state"
    167 msgid "Open"
    168 msgstr "Ouvrir"
    169 
    170 #. Denote a door's state
    171 #, fuzzy
    172 msgctxt "Door state"
    173 msgid "Closed"
    174 msgstr "Ferm"
    175 
    176 #. A product
    177 msgctxt "Audi"
    178 msgid "car"
    179 msgstr "voiture"
    180 
    181 #. A product
    182 msgctxt "Oc"
    183 msgid "copier"
    184 msgstr "photocopieur"
    185 
    186 #~ msgctxt "File|"
    187 #~ msgid "Save As"
    188 #~ msgstr "Enregistrer sous"
    189 
    190 #~ msgid "Save As"
    191 #~ msgstr "Enregistrer l'as"
    192 EOF
    193 
    194 : ${DIFF=diff}
    195 ${DIFF} mm-test18.ok mm-test18.new.po
    196 test $? = 0 || { rm -fr $tmpfiles; exit 1; }
    197 
    198 : ${MSGCMP=msgcmp}
    199 ${MSGCMP} --use-fuzzy --use-untranslated mm-test18.new.po mm-test18.pot
    200 test $? = 0 || { rm -fr $tmpfiles; exit 1; }
    201 
    202 rm -fr $tmpfiles
    203 
    204 exit 0
    205