From: Pedro Algarvio Date: Thu, 18 Dec 2008 00:19:47 +0000 (+0000) Subject: Include patch from Asheesh Laroia. Fixes #45. X-Git-Tag: 1.0~269 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=77c4dab5ef3d3464ed232b69d62e5e3c8fb92ac2;p=thirdparty%2Fbabel.git Include patch from Asheesh Laroia. Fixes #45. --- diff --git a/babel/messages/pofile.py b/babel/messages/pofile.py index 98cd3f8d..83cc3080 100644 --- a/babel/messages/pofile.py +++ b/babel/messages/pofile.py @@ -396,6 +396,9 @@ def write_po(fileobj, catalog, width=76, no_location=False, omit_header=False, def _write_message(message, prefix=''): if isinstance(message.id, (list, tuple)): + if message.context: + _write('%smsgctxt %s\n' % (prefix, + _normalize(message.context, prefix))) _write('%smsgid %s\n' % (prefix, _normalize(message.id[0], prefix))) _write('%smsgid_plural %s\n' % ( prefix, _normalize(message.id[1], prefix) @@ -410,6 +413,9 @@ def write_po(fileobj, catalog, width=76, no_location=False, omit_header=False, prefix, idx, _normalize(string, prefix) )) else: + if message.context: + _write('%smsgctxt %s\n' % (prefix, + _normalize(message.context, prefix))) _write('%smsgid %s\n' % (prefix, _normalize(message.id, prefix))) _write('%smsgstr %s\n' % ( prefix, _normalize(message.string or '', prefix) diff --git a/babel/messages/tests/pofile.py b/babel/messages/tests/pofile.py index 7e245760..8e85af97 100644 --- a/babel/messages/tests/pofile.py +++ b/babel/messages/tests/pofile.py @@ -163,6 +163,12 @@ msgstr "Bahr" message = catalog.get('bar', context='Menu') self.assertEqual('Menu', message.context) + # And verify it pass through write_po + out_buf = StringIO() + pofile.write_po(out_buf, catalog, omit_header=True) + assert out_buf.getvalue().strip() == buf.getvalue().strip(), \ + out_buf.getvalue() + def test_singlular_plural_form(self): buf = StringIO(r'''msgid "foo" msgid_plural "foo"