![Tom Morris](/assets/img/avatar_default.png)
* Update jquery.i18n to 1.07 and add missing rule parser Fixes #2700 Adds missing CLDRPluralRuleParser.js so that plurals are supported. Updates all files to jquery.i18n 1.07 Includes a bunch of specialty language support, but only Finnish and Russian are loaded as examples. * Add some missing translations, including plurals Fix some cases of Javascript string concatenation and plural conditionalization to demonstrate that plurals work in both English and French now. NOTE: Corresponding updates need to be made to all the other language files since some keys were renamed or eliminated.
50 lines
984 B
JavaScript
50 lines
984 B
JavaScript
/**
|
|
* Finnish (Suomi) language functions
|
|
*
|
|
* @author Santhosh Thottingal
|
|
*/
|
|
|
|
( function ( $ ) {
|
|
'use strict';
|
|
|
|
$.i18n.languages.fi = $.extend( {}, $.i18n.languages[ 'default' ], {
|
|
convertGrammar: function ( word, form ) {
|
|
// vowel harmony flag
|
|
var aou = word.match( /[aou][^äöy]*$/i ),
|
|
origWord = word;
|
|
if ( word.match( /wiki$/i ) ) {
|
|
aou = false;
|
|
}
|
|
|
|
// append i after final consonant
|
|
if ( word.match( /[bcdfghjklmnpqrstvwxz]$/i ) ) {
|
|
word += 'i';
|
|
}
|
|
|
|
switch ( form ) {
|
|
case 'genitive':
|
|
word += 'n';
|
|
break;
|
|
case 'elative':
|
|
word += ( aou ? 'sta' : 'stä' );
|
|
break;
|
|
case 'partitive':
|
|
word += ( aou ? 'a' : 'ä' );
|
|
break;
|
|
case 'illative':
|
|
// Double the last letter and add 'n'
|
|
word += word.slice( -1 ) + 'n';
|
|
break;
|
|
case 'inessive':
|
|
word += ( aou ? 'ssa' : 'ssä' );
|
|
break;
|
|
default:
|
|
word = origWord;
|
|
break;
|
|
}
|
|
|
|
return word;
|
|
}
|
|
} );
|
|
}( jQuery ) );
|