Implement extension registration from an extension.json file
[mediawiki.git] / resources / src / mediawiki.language / languages / uk.js
blob550a388c252395e9fc1433290e70a55135c9d7b7
1 /*!
2  * Ukrainian (Українська) language functions
3  */
5 mediaWiki.language.convertGrammar = function ( word, form ) {
6         var grammarForms = mediaWiki.language.getData( 'uk', 'grammarForms' );
7         if ( grammarForms && grammarForms[form] ) {
8                 return grammarForms[form][word];
9         }
10         switch ( form ) {
11                 case 'genitive': // родовий відмінок
12                         if ( word.slice( -4 ) !== 'вікі' && word.slice( -4 ) !== 'Вікі' ) {
13                                 if ( word.slice( -1 ) === 'ь' ) {
14                                         word = word.slice(0, -1 ) + 'я';
15                                 } else if ( word.slice( -2 ) === 'ія' ) {
16                                         word = word.slice(0, -2 ) + 'ії';
17                                 } else if ( word.slice( -2 ) === 'ка' ) {
18                                         word = word.slice(0, -2 ) + 'ки';
19                                 } else if ( word.slice( -2 ) === 'ти' ) {
20                                         word = word.slice(0, -2 ) + 'тей';
21                                 } else if ( word.slice( -2 ) === 'ды' ) {
22                                         word = word.slice(0, -2 ) + 'дов';
23                                 } else if ( word.slice( -3 ) === 'ник' ) {
24                                         word = word.slice(0, -3 ) + 'ника';
25                                 }
26                         }
27                         break;
28                 case 'accusative': // знахідний відмінок
29                         if ( word.slice( -4 ) !== 'вікі' && word.slice( -4 ) !== 'Вікі' ) {
30                                 if ( word.slice( -2 ) === 'ія' ) {
31                                         word = word.slice(0, -2 ) + 'ію';
32                                 }
33                         }
34                         break;
35         }
36         return word;