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