1#! /bin/sh 2 3# Test msgmerge and msgcmp on a PO file with contexts. 4 5tmpfiles="" 6trap 'rm -fr $tmpfiles' 1 2 3 15 7 8tmpfiles="$tmpfiles mm-test18.po" 9cat <<\EOF > mm-test18.po 10msgid "" 11msgstr "" 12"Content-Type: text/plain; charset=UTF-8\n" 13"Content-Transfer-Encoding: 8bit\n" 14 15#. A menu item 16msgctxt "File|" 17msgid "Open" 18msgstr "Ouvrir" 19 20#. A menu item 21msgctxt "File|" 22msgid "New" 23msgstr "Nouveau" 24 25#. A menu item 26msgctxt "File|" 27msgid "Save As" 28msgstr "Enregistrer sous" 29 30msgid "Save As" 31msgstr "Enregistrer l'as" 32 33#. Denote a lock's state 34msgctxt "Lock state" 35msgid "Open" 36msgstr "Ouvert" 37 38#. Denote a lock's state 39msgctxt "Lock state" 40msgid "Closed" 41msgstr "Ferm��" 42 43#. A product 44msgctxt "Audi" 45msgid "car" 46msgstr "voiture" 47 48#. A product 49msgctxt "Oc��" 50msgid "copier" 51msgstr "photocopieur" 52EOF 53 54tmpfiles="$tmpfiles mm-test18.pot" 55cat <<\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 62msgid "" 63msgstr "" 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@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 74msgctxt "File|" 75msgid "Open" 76msgstr "" 77 78#. A menu item 79msgctxt "File|" 80msgid "New" 81msgstr "" 82 83#. A menu item 84msgctxt "File|" 85msgid "Close" 86msgstr "" 87 88#. Denote a lock's state 89msgctxt "Lock state" 90msgid "Open" 91msgstr "" 92 93#. Denote a lock's state 94msgctxt "Lock state" 95msgid "Closed" 96msgstr "" 97 98#. Denote a door's state 99msgctxt "Door state" 100msgid "Open" 101msgstr "" 102 103#. Denote a door's state 104msgctxt "Door state" 105msgid "Closed" 106msgstr "" 107 108#. A product 109msgctxt "Audi" 110msgid "car" 111msgstr "" 112 113#. A product 114msgctxt "Oc��" 115msgid "copier" 116msgstr "" 117EOF 118 119: ${MSGCMP=msgcmp} 120${MSGCMP} --use-fuzzy --use-untranslated mm-test18.po mm-test18.pot 2>/dev/null 121test $? = 1 || { rm -fr $tmpfiles; exit 1; } 122 123tmpfiles="$tmpfiles mm-test18.new.po" 124: ${MSGMERGE=msgmerge} 125${MSGMERGE} -q -o mm-test18.new.po mm-test18.po mm-test18.pot 126test $? = 0 || { rm -fr $tmpfiles; exit 1; } 127 128tmpfiles="$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"). 131cat <<\EOF > mm-test18.ok 132msgid "" 133msgstr "" 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 139msgctxt "File|" 140msgid "Open" 141msgstr "Ouvrir" 142 143#. A menu item 144msgctxt "File|" 145msgid "New" 146msgstr "Nouveau" 147 148#. A menu item 149#, fuzzy 150msgctxt "File|" 151msgid "Close" 152msgstr "Ferm��" 153 154#. Denote a lock's state 155msgctxt "Lock state" 156msgid "Open" 157msgstr "Ouvert" 158 159#. Denote a lock's state 160msgctxt "Lock state" 161msgid "Closed" 162msgstr "Ferm��" 163 164#. Denote a door's state 165#, fuzzy 166msgctxt "Door state" 167msgid "Open" 168msgstr "Ouvrir" 169 170#. Denote a door's state 171#, fuzzy 172msgctxt "Door state" 173msgid "Closed" 174msgstr "Ferm��" 175 176#. A product 177msgctxt "Audi" 178msgid "car" 179msgstr "voiture" 180 181#. A product 182msgctxt "Oc��" 183msgid "copier" 184msgstr "photocopieur" 185 186#~ msgctxt "File|" 187#~ msgid "Save As" 188#~ msgstr "Enregistrer sous" 189 190#~ msgid "Save As" 191#~ msgstr "Enregistrer l'as" 192EOF 193 194: ${DIFF=diff} 195${DIFF} mm-test18.ok mm-test18.new.po 196test $? = 0 || { rm -fr $tmpfiles; exit 1; } 197 198: ${MSGCMP=msgcmp} 199${MSGCMP} --use-fuzzy --use-untranslated mm-test18.new.po mm-test18.pot 200test $? = 0 || { rm -fr $tmpfiles; exit 1; } 201 202rm -fr $tmpfiles 203 204exit 0 205