Add grammar forms for Russian
This adds support for the Russian name of Wikimedia Commons. Change-Id: If531e9ff8f46ac5294b117eec43172b4975e2ad6
This commit is contained in:
parent
1765227b43
commit
fab8c6f541
4 changed files with 30 additions and 0 deletions
|
|
@ -65,6 +65,8 @@ class LanguageRu extends Language {
|
|||
$word = join( '', array_slice( $chars[0], 0, -2 ) ) . 'тей';
|
||||
} elseif ( join( '', array_slice( $chars[0], -2 ) ) === 'ды' ) {
|
||||
$word = join( '', array_slice( $chars[0], 0, -2 ) ) . 'дов';
|
||||
} elseif ( join( '', array_slice( $chars[0], -1 ) ) === 'д' ) {
|
||||
$word = join( '', array_slice( $chars[0], 0, -1 ) ) . 'да';
|
||||
} elseif ( join( '', array_slice( $chars[0], -3 ) ) === 'ник' ) {
|
||||
$word = join( '', array_slice( $chars[0], 0, -3 ) ) . 'ника';
|
||||
} elseif ( join( '', array_slice( $chars[0], -3 ) ) === 'ные' ) {
|
||||
|
|
@ -91,6 +93,8 @@ class LanguageRu extends Language {
|
|||
$word = join( '', array_slice( $chars[0], 0, -2 ) ) . 'тях';
|
||||
} elseif ( join( '', array_slice( $chars[0], -2 ) ) === 'ды' ) {
|
||||
$word = join( '', array_slice( $chars[0], 0, -2 ) ) . 'дах';
|
||||
} elseif ( join( '', array_slice( $chars[0], -1 ) ) === 'д' ) {
|
||||
$word = join( '', array_slice( $chars[0], 0, -1 ) ) . 'де';
|
||||
} elseif ( join( '', array_slice( $chars[0], -3 ) ) === 'ник' ) {
|
||||
$word = join( '', array_slice( $chars[0], 0, -3 ) ) . 'нике';
|
||||
} elseif ( join( '', array_slice( $chars[0], -3 ) ) === 'ные' ) {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@ mediaWiki.language.convertGrammar = function ( word, form ) {
|
|||
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 - 1 ) === 'д' ) {
|
||||
word = word.substr(0, word.length - 1 ) + 'да';
|
||||
} else if ( word.substr( word.length - 3 ) === 'ные' ) {
|
||||
word = word.substr(0, word.length - 3 ) + 'ных';
|
||||
} else if ( word.substr( word.length - 3 ) === 'ник' ) {
|
||||
|
|
@ -42,6 +44,8 @@ mediaWiki.language.convertGrammar = function ( word, form ) {
|
|||
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 - 1 ) === 'д' ) {
|
||||
word = word.substr(0, word.length - 1 ) + 'де';
|
||||
} else if ( word.substr( word.length - 3 ) === 'ные' ) {
|
||||
word = word.substr(0, word.length - 3 ) + 'ных';
|
||||
} else if ( word.substr( word.length - 3 ) === 'ник' ) {
|
||||
|
|
|
|||
|
|
@ -95,6 +95,16 @@ class LanguageRuTest extends LanguageClassesTestCase {
|
|||
'Викитека',
|
||||
'prepositional',
|
||||
),
|
||||
array(
|
||||
'Викисклада',
|
||||
'Викисклад',
|
||||
'genitive',
|
||||
),
|
||||
array(
|
||||
'Викискладе',
|
||||
'Викисклад',
|
||||
'prepositional',
|
||||
),
|
||||
array(
|
||||
'Викиданных',
|
||||
'Викиданные',
|
||||
|
|
|
|||
|
|
@ -258,6 +258,18 @@
|
|||
expected: 'доводах',
|
||||
description: 'Grammar test for prepositional case, доводы -> доводах'
|
||||
},
|
||||
{
|
||||
word: 'Викисклад',
|
||||
grammarForm: 'prepositional',
|
||||
expected: 'Викискладе',
|
||||
description: 'Grammar test for prepositional case, Викисклад -> Викискладе'
|
||||
},
|
||||
{
|
||||
word: 'Викисклад',
|
||||
grammarForm: 'genitive',
|
||||
expected: 'Викисклада',
|
||||
description: 'Grammar test for genitive case, Викисклад -> Викисклада'
|
||||
},
|
||||
{
|
||||
word: 'песчаник',
|
||||
grammarForm: 'prepositional',
|
||||
|
|
|
|||
Loading…
Reference in a new issue