Nebojša Đorđević - nesh wrote:
3 IIRC, same as Serbian.
There are 3 declensions but actually different forms of declension are
more (including nouns, adjectives etc).
Three forms, special cases for numbers ending in 1 and 2, 3, 4,
except those ending in 1[1-4]
In Russian it's slightly different. There are (generally) 3 variants:
1. ending with 1 (except 11)
2. ending with 2,3,4 (except 12,13,14)
3. 11,12,13,14
So *for a given word* there are indeed just 3 cases (sometime less). But
my concern is that you can't easily write universal function for an
arbitrary word.
In my projects I used to write a special function (template tag in case
of Django) which I extend for every new word with different form of
declension that I need in project. It looks like this:
if <some signs of declension form>:
if q in (11,12,13,14):
...
elif q%10==1:
...
elif q%10 in (2,3,4):
...
else:
...
elif <some signs of declension form>:
... another 3 cases
My long standing dream is to fill this function with forms for the
entire language :-).