]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - resources/src/mediawiki.language/languages/fi.js
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / resources / src / mediawiki.language / languages / fi.js
diff --git a/resources/src/mediawiki.language/languages/fi.js b/resources/src/mediawiki.language/languages/fi.js
new file mode 100644 (file)
index 0000000..2bbfc6b
--- /dev/null
@@ -0,0 +1,47 @@
+/*!
+ * Finnish (Suomi) language functions
+ * @author Santhosh Thottingal
+ */
+
+mediaWiki.language.convertGrammar = function ( word, form ) {
+       var grammarForms, aou, origWord;
+
+       grammarForms = mediaWiki.language.getData( 'fi', 'grammarForms' );
+       if ( grammarForms && grammarForms[ form ] ) {
+               return grammarForms[ form ][ word ];
+       }
+
+       // vowel harmony flag
+       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;
+};