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 :-).

Reply via email to