1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
/**
* Russian (Русский) language functions
*/
// These tests were originally made for names of Wikimedia
// websites, so they don't currently cover all the possible
// cases.
mediaWiki.language.convertGrammar = function ( word, form ) {
'use strict';
var grammarForms = mediaWiki.language.getData( 'ru', 'grammarForms' );
if ( grammarForms && grammarForms[form] ) {
return grammarForms[form][word];
}
switch ( form ) {
case 'genitive': // родительный падеж
if ( word.substr( word.length - 1 ) === 'ь' ) {
word = word.substr(0, word.length - 1 ) + 'я';
} else if ( word.substr( word.length - 2 ) === 'ия' ) {
word = word.substr(0, word.length - 2 ) + 'ии';
} else if ( word.substr( word.length - 2 ) === 'ка' ) {
word = word.substr(0, word.length - 2 ) + 'ки';
} else if ( word.substr( word.length - 2 ) === 'ти' ) {
word = word.substr(0, word.length - 2 ) + 'тей';
} else if ( word.substr( word.length - 2 ) === 'ды' ) {
word = word.substr(0, word.length - 2 ) + 'дов';
} else if ( word.substr( word.length - 3 ) === 'ные' ) {
word = word.substr(0, word.length - 3 ) + 'ных';
} else if ( word.substr( word.length - 3 ) === 'ник' ) {
word = word.substr(0, word.length - 3 ) + 'ника';
}
break;
case 'prepositional': // предложный падеж
if ( word.substr( word.length - 1 ) === 'ь' ) {
word = word.substr(0, word.length - 1 ) + 'е';
} else if ( word.substr( word.length - 2 ) === 'ия' ) {
word = word.substr(0, word.length - 2 ) + 'ии';
} else if ( word.substr( word.length - 2 ) === 'ка' ) {
word = word.substr(0, word.length - 2 ) + 'ке';
} else if ( word.substr( word.length - 2 ) === 'ти' ) {
word = word.substr(0, word.length - 2 ) + 'тях';
} else if ( word.substr( word.length - 2 ) === 'ды' ) {
word = word.substr(0, word.length - 2 ) + 'дах';
} else if ( word.substr( word.length - 3 ) === 'ные' ) {
word = word.substr(0, word.length - 3 ) + 'ных';
} else if ( word.substr( word.length - 3 ) === 'ник' ) {
word = word.substr(0, word.length - 3 ) + 'нике';
}
break;
}
return word;
};
|