zenwalker
11/5/2015 - 3:39 PM

russian.py

from django.template import Library, TemplateSyntaxError
register = Library()


@register.filter
def rupluralize(value, endings):
    """
    Russian pluralization filter for Dajngo.
    Usage: {% count|rupluralize:"котик,котика,котиков %}
    
    """
    try:
        endings = endings.split(',')
        if value % 100 in (11, 12, 13, 14):
            return endings[2]
        if value % 10 == 1:
            return endings[0]
        if value % 10 in (2, 3, 4):
            return endings[1]
        else:
            return endings[2]
    except:
        raise TemplateSyntaxError()