// cases.
mediaWiki.language.convertGrammar = function ( word, form ) {
+ /*global $ */
'use strict';
var grammarForms = mediaWiki.language.getData( 'ru', 'grammarForms' );
- if ( grammarForms && grammarForms[form] ) {
- return grammarForms[form][word];
+ if ( grammarForms && grammarForms[ form ] ) {
+ return grammarForms[ form ][ word ];
}
switch ( form ) {
case 'genitive': // родительный падеж
word = word.slice( 0, -3 ) + 'нике';
}
break;
+ case 'languagegen': // язык в родительном падеже ("(с) русского")
+ if ( word.slice( -3 ) === 'кий' ) {
+ word = word.slice( 0, -2 ) + 'ого';
+ } else if ( $.inArray( word, [ 'иврит', 'идиш' ] ) > -1 ) {
+ word = word + 'а';
+ }
+ break;
+ case 'languageprep': // язык в предложном падеже ("(на) русском")
+ if ( word.slice( -3 ) === 'кий' ) {
+ word = word.slice( 0, -2 ) + 'ом';
+ } else if ( $.inArray( word, [ 'иврит', 'идиш' ] ) > -1 ) {
+ word = word + 'е';
+ }
+ break;
+ case 'languageadverb': // наречие с названием языка ("по-русски")
+ if ( word.slice( -3 ) === 'кий' ) {
+ word = 'по-' + word.slice( 0, -1 );
+ } else if ( $.inArray( word, [ 'иврит', 'идиш' ] ) > -1 ) {
+ word = 'на ' + word + 'е';
+ } else if ( $.inArray( word, [ 'идо', 'урду', 'хинди', 'эсперанто' ] ) > -1 ) {
+ word = 'на ' + word;
+ } else {
+ word = 'на языке ' + word;
+ }
+ break;
}
return word;
};