in_msgstr[0] = True
msg = line[6:].lstrip()
if msg.startswith('['):
- idx, msg = msg[1:].split(']')
+ idx, msg = msg[1:].split(']', 1)
translations.append([int(idx), msg.lstrip()])
else:
translations.append([0, msg])
self.assertEqual(1, catalog.num_plurals)
message = catalog['foo']
self.assertEqual(1, len(message.string))
-
+
+ def test_plural_with_square_brackets(self):
+ buf = StringIO(r'''msgid "foo"
+msgid_plural "foo"
+msgstr[0] "Voh [text]"
+msgstr[1] "Vohs [text]"''')
+ catalog = pofile.read_po(buf, locale='nb_NO')
+ self.assertEqual(1, len(catalog))
+ self.assertEqual(2, catalog.num_plurals)
+ message = catalog['foo']
+ self.assertEqual(2, len(message.string))
+
def test_more_than_two_plural_forms(self):
buf = StringIO(r'''msgid "foo"
msgid_plural "foo"