#! /bin/sh . "${srcdir=.}/init.sh"; path_prepend_ . ../src # Test msgmerge and msgcmp on a PO file with contexts. cat <<\EOF > mm-test18.po msgid "" msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. A menu item msgctxt "File|" msgid "Open" msgstr "Ouvrir" #. A menu item msgctxt "File|" msgid "New" msgstr "Nouveau" #. A menu item msgctxt "File|" msgid "Save As" msgstr "Enregistrer sous" msgid "Save As" msgstr "Enregistrer l'as" #. Denote a lock's state msgctxt "Lock state" msgid "Open" msgstr "Ouvert" #. Denote a lock's state msgctxt "Lock state" msgid "Closed" msgstr "Fermé" #. A product msgctxt "Audi" msgid "car" msgstr "voiture" #. A product msgctxt "Océ" msgid "copier" msgstr "photocopieur" EOF cat <<\EOF > mm-test18.pot # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. A menu item msgctxt "File|" msgid "Open" msgstr "" #. A menu item msgctxt "File|" msgid "New" msgstr "" #. A menu item msgctxt "File|" msgid "Close" msgstr "" #. Denote a lock's state msgctxt "Lock state" msgid "Open" msgstr "" #. Denote a lock's state msgctxt "Lock state" msgid "Closed" msgstr "" #. Denote a door's state msgctxt "Door state" msgid "Open" msgstr "" #. Denote a door's state msgctxt "Door state" msgid "Closed" msgstr "" #. A product msgctxt "Audi" msgid "car" msgstr "" #. A product msgctxt "Océ" msgid "copier" msgstr "" EOF : ${MSGCMP=msgcmp} ${MSGCMP} --use-fuzzy --use-untranslated mm-test18.po mm-test18.pot 2>/dev/null test $? = 1 || { Exit 1; } : ${MSGMERGE=msgmerge} ${MSGMERGE} -q -o mm-test18.tmp.po mm-test18.po mm-test18.pot || Exit 1 LC_ALL=C tr -d '\r' < mm-test18.tmp.po > mm-test18.new.po || Exit 1 # Note that the fuzzy guess for "Open" in context "Door state" could be either # "Ouvrir" (from context "File|") or "Ouvert" (from context "Lock state"). cat <<\EOF > mm-test18.ok msgid "" msgstr "" "Report-Msgid-Bugs-To: \n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. A menu item msgctxt "File|" msgid "Open" msgstr "Ouvrir" #. A menu item msgctxt "File|" msgid "New" msgstr "Nouveau" #. A menu item #, fuzzy msgctxt "File|" msgid "Close" msgstr "Fermé" #. Denote a lock's state msgctxt "Lock state" msgid "Open" msgstr "Ouvert" #. Denote a lock's state msgctxt "Lock state" msgid "Closed" msgstr "Fermé" #. Denote a door's state #, fuzzy msgctxt "Door state" msgid "Open" msgstr "Ouvrir" #. Denote a door's state #, fuzzy msgctxt "Door state" msgid "Closed" msgstr "Fermé" #. A product msgctxt "Audi" msgid "car" msgstr "voiture" #. A product msgctxt "Océ" msgid "copier" msgstr "photocopieur" #~ msgctxt "File|" #~ msgid "Save As" #~ msgstr "Enregistrer sous" #~ msgid "Save As" #~ msgstr "Enregistrer l'as" EOF : ${DIFF=diff} ${DIFF} mm-test18.ok mm-test18.new.po || Exit 1 : ${MSGCMP=msgcmp} ${MSGCMP} --use-fuzzy --use-untranslated mm-test18.new.po mm-test18.pot || Exit 1 Exit 0