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