Localisation updates from https://translatewiki.net.
[mediawiki.git] / resources / src / mediawiki.language / languages / fi.js
bloba9d512e84e1c63b2f530fa58c103fd9460513e6a
1 /*!
2  * Finnish (Suomi) language functions
3  * @author Santhosh Thottingal
4  */
6 mw.language.convertGrammar = function ( word, form ) {
7         const grammarForms = mw.language.getData( 'fi', 'grammarForms' );
8         if ( grammarForms && grammarForms[ form ] ) {
9                 return grammarForms[ form ][ word ];
10         }
12         // vowel harmony flag
13         let aou = /[aou][^äöy]*$/i.test( word );
14         const origWord = word;
15         if ( /wiki$/i.test( word ) ) {
16                 aou = false;
17         }
18         // append i after final consonant
19         if ( /[bcdfghjklmnpqrstvwxz]$/i.test( word ) ) {
20                 word += 'i';
21         }
23         switch ( form ) {
24                 case 'genitive':
25                         word += 'n';
26                         break;
27                 case 'elative':
28                         word += ( aou ? 'sta' : 'stä' );
29                         break;
30                 case 'partitive':
31                         word += ( aou ? 'a' : 'ä' );
32                         break;
33                 case 'illative':
34                         // Double the last letter and add 'n'
35                         word += word.slice( -1 ) + 'n';
36                         break;
37                 case 'inessive':
38                         word += ( aou ? 'ssa' : 'ssä' );
39                         break;
40                 default:
41                         word = origWord;
42                         break;
43         }
44         return word;