http://www.mediawiki.org/wiki/Special:Code/pywikipedia/9465
Revision: 9465
Author: xqt
Date: 2011-08-28 15:33:01 +0000 (Sun, 28 Aug 2011)
Log Message:
-----------
update from trunk r9463
Added Paths:
-----------
branches/rewrite/pywikibot/plural.py
Copied: branches/rewrite/pywikibot/plural.py (from rev 9464,
trunk/pywikipedia/pywikibot/plural.py)
===================================================================
--- branches/rewrite/pywikibot/plural.py (rev 0)
+++ branches/rewrite/pywikibot/plural.py 2011-08-28 15:33:01 UTC (rev 9465)
@@ -0,0 +1,155 @@
+# -*- coding: utf-8 -*-
+#
+# (C) xqt, 2011
+# (C) Pywikipedia bot team, 2011
+#
+# Distributed under the terms of the MIT license.
+#
+__version__ = '$Id$'
+#
+
+plural_rules = {
+ '_default': {'nplurals': 2, 'plural': lambda n: lambda n: (n
!= 1)},
+ 'ach':{'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'ak': {'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'am': {'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'ar': {'nplurals': 6, 'plural': lambda n:
+ 0 if (n == 0) else
+ 1 if (n == 1) else
+ 2 if (n == 2) else
+ 3 if (n%100 >= 3 and n%100 <= 10) else
+ 4 if (n%100 >= 11 and n%100 <= 99) else
+ 5 },
+ 'arn':{'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'ay': {'nplurals': 1, 'plural': 0},
+ 'be': {'nplurals': 3, 'plural': lambda n:
+ 0 if (n%10 == 1 and n%100 != 11) else
+ 1 if (n%10 >= 2 and n%10 <= 4 and (n%100 < 10 or n%100 >= 20))
else
+ 2 },
+ 'bo': {'nplurals': 1, 'plural': 0},
+ 'br': {'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'bs': {'nplurals': 3, 'plural': lambda n:
+ 0 if (n%10 == 1 and n%100 != 11) else
+ 1 if (n%10 >= 2 and n%10 <= 4 and (n%100 < 10 or n%100 >= 20))
else
+ 2 },
+ 'cgg':{'nplurals': 1, 'plural': 0},
+ 'cs': {'nplurals': 3, 'plural': lambda n:
+ 0 if (n == 1) else
+ 1 if (n >= 2 and n <= 4) else
+ 2 },
+ 'csb':{'nplurals': 3, 'plural': lambda n:
+ 0 if (n == 1) else
+ 1 if (n%10 >= 2 and n%10 <= 4 and (n%100 < 10 or n%100 >= 20))
else
+ 2 },
+ 'cy': {'nplurals': 6, 'plural': lambda n:
+ 0 if (n == 0) else
+ 1 if (n == 1) else
+ 2 if (n == 2) else
+ 3 if (n == 3) else
+ 4 if (n == 6) else
+ 5 },
+ 'dz': {'nplurals': 1, 'plural': 0},
+ 'fa': {'nplurals': 1, 'plural': 0},
+ 'fil':{'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'fr': {'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'ga': {'nplurals': 5, 'plural': lambda n:
+ 0 if (n == 1) else
+ 1 if (n == 2) else
+ 2 if (n < 7) else
+ 3 if (n < 11) else
+ 4 },
+ 'gd': {'nplurals': 4, 'plural': lambda n:
+ 0 if (n == 1 or n == 11) else
+ 1 if (n == 2 or n == 12) else
+ 2 if (n > 2 and n < 20) else
+ 3 },
+ 'gun':{'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'hr': {'nplurals': 3, 'plural': lambda n:
+ 0 if (n%10 == 1 and n%100 != 11) else
+ 1 if (n%10 >= 2 and n%10 <= 4 and (n%100 < 10 or n%100 >= 20))
else
+ 2 },
+ 'id': {'nplurals': 1, 'plural': 0},
+ 'ja': {'nplurals': 1, 'plural': 0},
+ 'jbo':{'nplurals': 1, 'plural': 0},
+ 'ka': {'nplurals': 1, 'plural': 0},
+ 'kk': {'nplurals': 1, 'plural': 0},
+ 'km': {'nplurals': 1, 'plural': 0},
+ 'ko': {'nplurals': 1, 'plural': 0},
+ 'kw': {'nplurals': 4, 'plural': lambda n:
+ 0 if (n == 1) else
+ 1 if (n == 2) else
+ 2 if (n == 3) else
+ 3 },
+ 'ky': {'nplurals': 1, 'plural': 0},
+ 'ln': {'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'lo': {'nplurals': 1, 'plural': 0},
+ 'lt': {'nplurals': 3, 'plural': lambda n:
+ 0 if (n%10 == 1 and n%100 != 11) else
+ 1 if (n%10 >= 2 and (n%100 < 10 or n%100 >= 20)) else
+ 2 },
+ 'lv': {'nplurals': 3, 'plural': lambda n:
+ 0 if (n%10 == 1 and n%100 != 11) else
+ 1 if (n != 0) else
+ 2 },
+ 'mfe':{'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'mg': {'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'mi': {'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'mk': {'nplurals': 2, 'plural': lambda n: 0 if n == 1 or n%10
== 1 else 1},
+ 'mnk':{'nplurals': 3, 'plural': lambda n:
+ 0 if (n == 0) else
+ 1 if n == 1 else
+ 2 },
+ 'ms': {'nplurals': 1, 'plural': 0},
+ 'mt': {'nplurals': 4, 'plural': lambda n:
+ 0 if (n == 1) else
+ 1 if (n == 0 or (n%100 > 1 and n%100 < 11)) else
+ 2 if (n%100 > 10 and n%100 < 20) else
+ 3 },
+ 'nso':{'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'oc': {'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'pl': {'nplurals': 3, 'plural': lambda n:
+ 0 if (n == 1) else
+ 1 if (n%10 >= 2 and n%10 <= 4 and (n%100 < 10 or n%100 >= 20))
else
+ 2 },
+ 'pt-br': {'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'ro': {'nplurals': 3, 'plural': lambda n:
+ 0 if (n == 1) else
+ 1 if (n == 0 or (n%100 > 0 and n%100 < 20)) else
+ 2 },
+ 'ru': {'nplurals': 3, 'plural': lambda n:
+ 0 if (n%10 == 1 and n%100 != 11) else
+ 1 if (n%10 >= 2 and n%10 <= 4 and (n%100 < 10 or n%100 >= 20))
else
+ 2 },
+ 'sk': {'nplurals': 3, 'plural': lambda n:
+ 0 if (n == 1) else
+ 1 if (n >= 2 and n <= 4) else
+ 2 },
+ 'sl': {'nplurals': 4, 'plural': lambda n:
+ 0 if (n%100 == 1) else
+ 1 if (n%100 == 2) else
+ 2 if (n%100 == 3 or n%100 == 4) else
+ 3 },
+ 'sr': {'nplurals': 3, 'plural': lambda n:
+ 0 if (n%10 == 1 and n%100 != 11) else
+ 1 if (n%10 >= 2 and n%10 <= 4 and (n%100 < 10 or n%100 >= 20))
else
+ 2 },
+ 'su': {'nplurals': 1, 'plural': 0},
+ 'th': {'nplurals': 1, 'plural': 0},
+ 'ti': {'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'tr': {'nplurals': 1, 'plural': 0},
+ 'tt': {'nplurals': 1, 'plural': 0},
+ 'ug': {'nplurals': 1, 'plural': 0},
+ 'uk': {'nplurals': 3, 'plural': lambda n:
+ 0 if (n%10 == 1 and n%100 != 11) else
+ 1 if (n%10 >= 2 and n%10 <= 4 and (n%100 < 10 or n%100 >= 20))
else
+ 2 },
+ 'uz': {'nplurals': 1, 'plural': 0},
+ 'vi': {'nplurals': 1, 'plural': 0},
+ 'wa': {'nplurals': 2, 'plural': lambda n: (n > 1)},
+ 'wo': {'nplurals': 1, 'plural': 0},
+ 'zh': {'nplurals': 1, 'plural': 0},
+ 'zh-hans': {'nplurals': 1, 'plural': 0},
+ 'zh-hant': {'nplurals': 1, 'plural': 0},
+ 'zh-tw': {'nplurals': 1, 'plural': 0},
+}
+