]> git.ipfire.org Git - thirdparty/babel.git/commitdiff
Fix for #97, compilation of message catalogs for locales with more than two plural...
authorChristopher Lenz <cmlenz@gmail.com>
Fri, 6 Jun 2008 21:51:48 +0000 (21:51 +0000)
committerChristopher Lenz <cmlenz@gmail.com>
Fri, 6 Jun 2008 21:51:48 +0000 (21:51 +0000)
babel/messages/mofile.py
babel/messages/tests/mofile.py

index 49069c31c4d035f81e8be23654057a9c0f2afb02..bc0f3a8c955568549e084e231db14a95e47108c5 100644 (file)
@@ -81,7 +81,7 @@ def write_mo(fileobj, catalog, use_fuzzy=False):
             msgstrs = []
             for idx, string in enumerate(message.string):
                 if not string:
-                    msgstrs.append(message.id[idx])
+                    msgstrs.append(message.id[min(int(idx), 1)])
                 else:
                     msgstrs.append(string)
             msgstr = '\x00'.join([
index adaa3e4fa4eccc57f6c3fdd0cd51959b63813ef1..3199c75f1fb2681ea5adc087993ee00d8f743ade 100644 (file)
@@ -47,6 +47,13 @@ class WriteMoTestCase(unittest.TestCase):
         self.assertEqual(u'Fuzzes', translations.ugettext('Fuzzes'))
         assert isinstance(translations.ugettext('Fuzzes'), unicode)
 
+    def test_more_plural_forms(self):
+        catalog2 = Catalog(locale='ru_RU')
+        catalog2.add(('Fuzz', 'Fuzzes'), ('', '', ''))
+        buf = StringIO()
+        mofile.write_mo(buf, catalog2)
+
+
 def suite():
     suite = unittest.TestSuite()
     suite.addTest(doctest.DocTestSuite(mofile))