Remove deprecated $wgBetterDirectionality
[lhc/web/wiklou.git] / resources / mediawiki.language / languages / os.js
1 /**
2 * Ossetian (Ирон) language functions
3 * @author Santhosh Thottingal
4 */
5
6
7 mediaWiki.language.convertGrammar = function ( word, form ) {
8 var grammarForms = mediaWiki.language.getData( 'os', 'grammarForms' ),
9 // Ending for allative case
10 endAllative = 'мæ',
11 // Variable for 'j' beetwen vowels
12 jot = '',
13 // Variable for "-" for not Ossetic words
14 hyphen = '',
15 // Variable for ending
16 ending = '';
17
18 if ( grammarForms && grammarForms[form] ) {
19 return grammarForms[form][word];
20 }
21 // Checking if the $word is in plural form
22 if ( word.match( /тæ$/i ) ) {
23 word = word.substring( 0, word.length - 1 );
24 endAllative = 'æм';
25 }
26 // Works if word is in singular form.
27 // Checking if word ends on one of the vowels: е, ё, и, о, ы, э, ю, я.
28 else if ( word.match( /[аæеёиоыэюя]$/i ) ) {
29 jot = 'й';
30 }
31 // Checking if word ends on 'у'. 'У' can be either consonant 'W' or vowel 'U' in cyrillic Ossetic.
32 // Examples: {{grammar:genitive|аунеу}} = аунеуы, {{grammar:genitive|лæппу}} = лæппуйы.
33 else if ( word.match( /у$/i ) ) {
34 if ( ! word.substring( word.length-2, word.length-1 ).match( /[аæеёиоыэюя]$/i ) ) {
35 jot = 'й';
36 }
37 } else if ( !word.match( /[бвгджзйклмнопрстфхцчшщьъ]$/i ) ) {
38 hyphen = '-';
39 }
40
41 switch ( form ) {
42 case 'genitive':
43 ending = hyphen + jot + 'ы';
44 break;
45 case 'dative':
46 ending = hyphen + jot + 'æн';
47 break;
48 case 'allative':
49 ending = hyphen + endAllative;
50 break;
51 case 'ablative':
52 if ( jot === 'й' ) {
53 ending = hyphen + jot + 'æ';
54 }
55 else {
56 ending = hyphen + jot + 'æй';
57 }
58 break;
59 case 'superessive':
60 ending = hyphen + jot + 'ыл';
61 break;
62 case 'equative':
63 ending = hyphen + jot + 'ау';
64 break;
65 case 'comitative':
66 ending = hyphen + 'имæ';
67 break;
68 }
69 return word + ending;
70 };