Merge "Update docs/hooks.txt for ShowSearchHitTitle"
[mediawiki.git] / resources / src / mediawiki.language / languages / fi.js
blob2bbfc6b877400f77250f9be8b4cac301c502b3a8
1 /*!
2  * Finnish (Suomi) language functions
3  * @author Santhosh Thottingal
4  */
6 mediaWiki.language.convertGrammar = function ( word, form ) {
7         var grammarForms, aou, origWord;
9         grammarForms = mediaWiki.language.getData( 'fi', 'grammarForms' );
10         if ( grammarForms && grammarForms[ form ] ) {
11                 return grammarForms[ form ][ word ];
12         }
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         }
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;