summaryrefslogtreecommitdiff
path: root/resources/mediawiki.language/languages
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2013-01-18 16:46:04 +0100
committerPierre Schmitz <pierre@archlinux.de>2013-01-18 16:46:04 +0100
commit63601400e476c6cf43d985f3e7b9864681695ed4 (patch)
treef7846203a952e38aaf66989d0a4702779f549962 /resources/mediawiki.language/languages
parent8ff01378c9e0207f9169b81966a51def645b6a51 (diff)
Update to MediaWiki 1.20.2
this update includes: * adjusted Arch Linux skin * updated FluxBBAuthPlugin * patch for https://bugzilla.wikimedia.org/show_bug.cgi?id=44024
Diffstat (limited to 'resources/mediawiki.language/languages')
-rw-r--r--resources/mediawiki.language/languages/am.js8
-rw-r--r--resources/mediawiki.language/languages/ar.js38
-rw-r--r--resources/mediawiki.language/languages/bat-smg.js18
-rw-r--r--resources/mediawiki.language/languages/be-tarask.js23
-rw-r--r--resources/mediawiki.language/languages/be.js20
-rw-r--r--resources/mediawiki.language/languages/bh.js8
-rw-r--r--resources/mediawiki.language/languages/bs.js25
-rw-r--r--resources/mediawiki.language/languages/cs.js17
-rw-r--r--resources/mediawiki.language/languages/cu.js18
-rw-r--r--resources/mediawiki.language/languages/cy.js15
-rw-r--r--resources/mediawiki.language/languages/dsb.js25
-rw-r--r--resources/mediawiki.language/languages/fi.js44
-rw-r--r--resources/mediawiki.language/languages/fr.js8
-rw-r--r--resources/mediawiki.language/languages/ga.js37
-rw-r--r--resources/mediawiki.language/languages/gd.js18
-rw-r--r--resources/mediawiki.language/languages/gv.js18
-rw-r--r--resources/mediawiki.language/languages/he.js29
-rw-r--r--resources/mediawiki.language/languages/hi.js8
-rw-r--r--resources/mediawiki.language/languages/hr.js20
-rw-r--r--resources/mediawiki.language/languages/hsb.js25
-rw-r--r--resources/mediawiki.language/languages/hu.js23
-rw-r--r--resources/mediawiki.language/languages/hy.js25
-rw-r--r--resources/mediawiki.language/languages/ksh.js14
-rw-r--r--resources/mediawiki.language/languages/la.js50
-rw-r--r--resources/mediawiki.language/languages/ln.js8
-rw-r--r--resources/mediawiki.language/languages/lt.js18
-rw-r--r--resources/mediawiki.language/languages/lv.js8
-rw-r--r--resources/mediawiki.language/languages/mg.js8
-rw-r--r--resources/mediawiki.language/languages/mk.js8
-rw-r--r--resources/mediawiki.language/languages/mo.js14
-rw-r--r--resources/mediawiki.language/languages/mt.js17
-rw-r--r--resources/mediawiki.language/languages/nl.js8
-rw-r--r--resources/mediawiki.language/languages/nso.js8
-rw-r--r--resources/mediawiki.language/languages/os.js69
-rw-r--r--resources/mediawiki.language/languages/pl.js21
-rw-r--r--resources/mediawiki.language/languages/pt-br.js8
-rw-r--r--resources/mediawiki.language/languages/pt.js8
-rw-r--r--resources/mediawiki.language/languages/ro.js14
-rw-r--r--resources/mediawiki.language/languages/ru.js38
-rw-r--r--resources/mediawiki.language/languages/se.js17
-rw-r--r--resources/mediawiki.language/languages/sh.js23
-rw-r--r--resources/mediawiki.language/languages/sk.js14
-rw-r--r--resources/mediawiki.language/languages/sl.js25
-rw-r--r--resources/mediawiki.language/languages/sma.js17
-rw-r--r--resources/mediawiki.language/languages/sr-ec.js20
-rw-r--r--resources/mediawiki.language/languages/sr-el.js20
-rw-r--r--resources/mediawiki.language/languages/sr.js23
-rw-r--r--resources/mediawiki.language/languages/ti.js8
-rw-r--r--resources/mediawiki.language/languages/tl.js7
-rw-r--r--resources/mediawiki.language/languages/uk.js44
-rw-r--r--resources/mediawiki.language/languages/wa.js8
51 files changed, 360 insertions, 655 deletions
diff --git a/resources/mediawiki.language/languages/am.js b/resources/mediawiki.language/languages/am.js
deleted file mode 100644
index fa5d3c57..00000000
--- a/resources/mediawiki.language/languages/am.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Amharic (አማርኛ) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 2 );
- return ( count <= 1 ) ? forms[0] : forms[1];
-};
diff --git a/resources/mediawiki.language/languages/ar.js b/resources/mediawiki.language/languages/ar.js
deleted file mode 100644
index 7d9e114f..00000000
--- a/resources/mediawiki.language/languages/ar.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Arabic (العربية) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 6 );
- if ( count == 0 ) {
- return forms[0];
- }
- if ( count == 1 ) {
- return forms[1];
- }
- if ( count == 2 ) {
- return forms[2];
- }
- if ( count % 100 >= 3 && count % 100 <= 10 ) {
- return forms[3];
- }
- if ( count % 100 >= 11 && count % 100 <= 99 ) {
- return forms[4];
- }
- return forms[5];
-};
-
-mediaWiki.language.digitTransformTable = {
- '0': '٠', // &#x0660;
- '1': '١', // &#x0661;
- '2': '٢', // &#x0662;
- '3': '٣', // &#x0663;
- '4': '٤', // &#x0664;
- '5': '٥', // &#x0665;
- '6': '٦', // &#x0666;
- '7': '٧', // &#x0667;
- '8': '٨', // &#x0668;
- '9': '٩', // &#x0669;
- '.': '٫', // &#x066b; wrong table ?
- ',': '٬' // &#x066c;
-};
diff --git a/resources/mediawiki.language/languages/bat-smg.js b/resources/mediawiki.language/languages/bat-smg.js
deleted file mode 100644
index 6e3f4cc9..00000000
--- a/resources/mediawiki.language/languages/bat-smg.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Samogitian (Žemaitėška) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 4 );
- count = Math.abs( count );
- if ( count === 0 || ( count % 100 === 0 || ( count % 100 >= 10 && count % 100 < 20 ) ) ) {
- return forms[2];
- }
- if ( count % 10 === 1 ) {
- return forms[0];
- }
- if ( count % 10 === 2 ) {
- return forms[1];
- }
- return forms[3];
-};
diff --git a/resources/mediawiki.language/languages/be-tarask.js b/resources/mediawiki.language/languages/be-tarask.js
deleted file mode 100644
index c19f47d1..00000000
--- a/resources/mediawiki.language/languages/be-tarask.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Belarusian in Taraskievica orthography (Беларуская (тарашкевіца)) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- if ( forms.length === 2 ) {
- return count == 1 ? forms[0] : forms[1];
- }
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count > 10 && Math.floor( ( count % 100 ) / 10 ) == 1 ) {
- return forms[2];
- }
- switch ( count % 10 ) {
- case 1:
- return forms[0];
- case 2:
- case 3:
- case 4:
- return forms[1];
- default:
- return forms[2];
- }
-};
diff --git a/resources/mediawiki.language/languages/be.js b/resources/mediawiki.language/languages/be.js
deleted file mode 100644
index 97ceee3b..00000000
--- a/resources/mediawiki.language/languages/be.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Belarusian normative (Беларуская) language functions
- */
-
-mediaWiki.language.convertPlural = function convertPlural( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count > 10 && Math.floor( ( count % 100 ) / 10 ) == 1 ) {
- return forms[2];
- }
- switch ( count % 10 ) {
- case 1:
- return forms[0];
- case 2:
- case 3:
- case 4:
- return forms[1];
- default:
- return forms[2];
- }
-};
diff --git a/resources/mediawiki.language/languages/bh.js b/resources/mediawiki.language/languages/bh.js
deleted file mode 100644
index abbf8bd9..00000000
--- a/resources/mediawiki.language/languages/bh.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Bihari (भोजपुरी) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 2 );
- return ( count <= 1 ) ? forms[0] : forms[1];
-};
diff --git a/resources/mediawiki.language/languages/bs.js b/resources/mediawiki.language/languages/bs.js
index 9f22426a..c0c77aaf 100644
--- a/resources/mediawiki.language/languages/bs.js
+++ b/resources/mediawiki.language/languages/bs.js
@@ -2,19 +2,18 @@
* Bosnian (bosanski) language functions
*/
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count > 10 && Math.floor( ( count % 100 ) / 10 ) == 1 ) {
- return forms[2];
+mediaWiki.language.convertGrammar = function( word, form ) {
+ var grammarForms = mw.language.getData( 'bs', 'grammarForms' );
+ if ( grammarForms && grammarForms[form] ) {
+ return grammarForms[form][word] ;
}
- switch ( count % 10 ) {
- case 1:
- return forms[0];
- case 2:
- case 3:
- case 4:
- return forms[1];
- default:
- return forms[2];
+ switch ( form ) {
+ case 'instrumental': // instrumental
+ word = 's ' + word;
+ break;
+ case 'lokativ': // locative
+ word = 'o ' + word;
+ break;
}
+ return word;
};
diff --git a/resources/mediawiki.language/languages/cs.js b/resources/mediawiki.language/languages/cs.js
deleted file mode 100644
index 04dda99d..00000000
--- a/resources/mediawiki.language/languages/cs.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Czech (čeština [subst.], český [adj.], česky [adv.]) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- switch ( count ) {
- case 1:
- return forms[0];
- case 2:
- case 3:
- case 4:
- return forms[1];
- default:
- return forms[2];
- }
-};
diff --git a/resources/mediawiki.language/languages/cu.js b/resources/mediawiki.language/languages/cu.js
deleted file mode 100644
index 35a54739..00000000
--- a/resources/mediawiki.language/languages/cu.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Old Church Slavonic (Словѣ́ньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 4 );
- switch ( count % 10 ) {
- case 1:
- return forms[0];
- case 2:
- return forms[1];
- case 3:
- case 4:
- return forms[2];
- default:
- return forms[3];
- }
-};
diff --git a/resources/mediawiki.language/languages/cy.js b/resources/mediawiki.language/languages/cy.js
deleted file mode 100644
index 333d956f..00000000
--- a/resources/mediawiki.language/languages/cy.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Welsh (Cymraeg) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 6 );
- count = Math.abs( count );
- if ( count >= 0 && count <= 3 ) {
- return forms[count];
- }
- if ( count == 6 ) {
- return forms[4];
- }
- return forms[5];
-};
diff --git a/resources/mediawiki.language/languages/dsb.js b/resources/mediawiki.language/languages/dsb.js
index c3eaa1fc..a42a8f7f 100644
--- a/resources/mediawiki.language/languages/dsb.js
+++ b/resources/mediawiki.language/languages/dsb.js
@@ -2,17 +2,18 @@
* Lower Sorbian (Dolnoserbski) language functions
*/
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 4 );
- switch ( Math.abs( count ) % 100 ) {
- case 1:
- return forms[0];
- case 2:
- return forms[1];
- case 3:
- case 4:
- return forms[2];
- default:
- return forms[3];
+mediaWiki.language.convertGrammar = function( word, form ) {
+ var grammarForms = mw.language.getData( 'dsb', 'grammarForms' );
+ if ( grammarForms && grammarForms[form] ) {
+ return grammarForms[form][word] ;
}
+ switch ( form ) {
+ case 'instrumental': // instrumental
+ word = 'z ' + word;
+ break;
+ case 'lokatiw': // lokatiw
+ word = 'wo ' + word;
+ break;
+ }
+ return word;
};
diff --git a/resources/mediawiki.language/languages/fi.js b/resources/mediawiki.language/languages/fi.js
new file mode 100644
index 00000000..374698dc
--- /dev/null
+++ b/resources/mediawiki.language/languages/fi.js
@@ -0,0 +1,44 @@
+/**
+ * Finnish (Suomi) language functions
+ * @author Santhosh Thottingal
+ */
+
+mediaWiki.language.convertGrammar = function( word, form ) {
+ var grammarForms = mw.language.getData( 'fi', 'grammarForms' );
+ if ( grammarForms && grammarForms[form] ) {
+ return grammarForms[form][word] ;
+ }
+
+ // vowel harmony flag
+ var aou = word.match( /[aou][^äöy]*$/i );
+ var 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.substr( word.length-1 ) + 'n';
+ break;
+ case 'inessive':
+ word += ( aou ? 'ssa' : 'ssä' );
+ break;
+ default:
+ word = origWord;
+ break;
+ }
+ return word;
+};
diff --git a/resources/mediawiki.language/languages/fr.js b/resources/mediawiki.language/languages/fr.js
deleted file mode 100644
index bfb52d28..00000000
--- a/resources/mediawiki.language/languages/fr.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * French (Français) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 2 );
- return ( count <= 1 ) ? forms[0] : forms[1];
-};
diff --git a/resources/mediawiki.language/languages/ga.js b/resources/mediawiki.language/languages/ga.js
index 39280138..a27b489d 100644
--- a/resources/mediawiki.language/languages/ga.js
+++ b/resources/mediawiki.language/languages/ga.js
@@ -2,13 +2,36 @@
* Irish (Gaeilge) language functions
*/
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count == 1 ) {
- return forms[0];
+mediaWiki.language.convertGrammar = function( word, form ) {
+ var grammarForms = mw.language.getData( 'ga', 'grammarForms' );
+ if ( grammarForms && grammarForms[form] ) {
+ return grammarForms[form][word] ;
}
- if ( count == 2 ) {
- return forms[1];
+ switch ( form ) {
+ case 'ainmlae':
+ switch ( word ) {
+ case 'an Domhnach':
+ word = 'Dé Domhnaigh';
+ break;
+ case 'an Luan':
+ word = 'Dé Luain';
+ break;
+ case 'an Mháirt':
+ word = 'Dé Mháirt';
+ break;
+ case 'an Chéadaoin':
+ word = 'Dé Chéadaoin';
+ break;
+ case 'an Déardaoin':
+ word = 'Déardaoin';
+ break;
+ case 'an Aoine':
+ word = 'Dé hAoine';
+ break;
+ case 'an Satharn':
+ word = 'Dé Sathairn';
+ break;
+ }
}
- return forms[2];
+ return word;
};
diff --git a/resources/mediawiki.language/languages/gd.js b/resources/mediawiki.language/languages/gd.js
deleted file mode 100644
index 5ac20077..00000000
--- a/resources/mediawiki.language/languages/gd.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Scots Gaelic (Gàidhlig) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 4 );
- count = Math.abs( count );
- if ( count === 1 ) {
- return forms[0];
- }
- if ( count === 2 ) {
- return forms[1];
- }
- if ( count >= 3 && count <= 10 ) {
- return forms[2];
- }
- return forms[3];
-};
diff --git a/resources/mediawiki.language/languages/gv.js b/resources/mediawiki.language/languages/gv.js
deleted file mode 100644
index afc2b5d4..00000000
--- a/resources/mediawiki.language/languages/gv.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Manx (Gaelg) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 4 );
- if ( count > 0 && ( count % 20 ) === 0 ) {
- return forms[0];
- }
- switch ( count % 10 ) {
- case 1:
- return forms[1];
- case 2:
- return forms[2];
- default:
- return forms[3];
- }
-};
diff --git a/resources/mediawiki.language/languages/he.js b/resources/mediawiki.language/languages/he.js
index b74440e4..d35f77ed 100644
--- a/resources/mediawiki.language/languages/he.js
+++ b/resources/mediawiki.language/languages/he.js
@@ -2,13 +2,28 @@
* Hebrew (עברית) language functions
*/
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count == 1 ) {
- return forms[0];
+mediaWiki.language.convertGrammar = function( word, form ) {
+ var grammarForms = mw.language.getData( 'he', 'grammarForms' );
+ if ( grammarForms && grammarForms[form] ) {
+ return grammarForms[form][word] ;
}
- if ( count == 2 && forms[2] ) {
- return forms[2];
+ switch ( form ) {
+ case 'prefixed':
+ case 'תחילית': // the same word in Hebrew
+ // Duplicate prefixed "Waw", but only if it's not already double
+ if ( word.substr( 0, 1 ) === "ו" && word.substr( 0, 2 ) !== "וו" ) {
+ word = "ו" + word;
+ }
+
+ // Remove the "He" if prefixed
+ if ( word.substr( 0, 1 ) === "ה" ) {
+ word = word.substr( 1, word.length );
+ }
+
+ // Add a hyphen (maqaf) before numbers and non-Hebrew letters
+ if ( word.substr( 0, 1 ) < "א" || word.substr( 0, 1 ) > "ת" ) {
+ word = "־" + word;
+ }
}
- return forms[1];
+ return word;
};
diff --git a/resources/mediawiki.language/languages/hi.js b/resources/mediawiki.language/languages/hi.js
deleted file mode 100644
index a22a0e17..00000000
--- a/resources/mediawiki.language/languages/hi.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Hindi (हिन्दी) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 2 );
- return ( count <= 1 ) ? forms[0] : forms[1];
-};
diff --git a/resources/mediawiki.language/languages/hr.js b/resources/mediawiki.language/languages/hr.js
deleted file mode 100644
index e3ce291b..00000000
--- a/resources/mediawiki.language/languages/hr.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Croatian (hrvatski) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count > 10 && Math.floor( ( count % 100 ) / 10 ) == 1 ) {
- return forms[2];
- }
- switch ( count % 10 ) {
- case 1:
- return forms[0];
- case 2:
- case 3:
- case 4:
- return forms[1];
- default:
- return forms[2];
- }
-};
diff --git a/resources/mediawiki.language/languages/hsb.js b/resources/mediawiki.language/languages/hsb.js
index 8651fe41..211d67b5 100644
--- a/resources/mediawiki.language/languages/hsb.js
+++ b/resources/mediawiki.language/languages/hsb.js
@@ -2,17 +2,18 @@
* Upper Sorbian (Hornjoserbsce) language functions
*/
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 4 );
- switch ( Math.abs( count ) % 100 ) {
- case 1:
- return forms[0];
- case 2:
- return forms[1];
- case 3:
- case 4:
- return forms[2];
- default:
- return forms[3];
+mediaWiki.language.convertGrammar = function( word, form ) {
+ var grammarForms =mw.language.getData( 'hsb', 'grammarForms' );
+ if ( grammarForms && grammarForms[form] ) {
+ return grammarForms[form][word] ;
}
+ switch ( form ) {
+ case 'instrumental': // instrumental
+ word = 'z ' + word;
+ break;
+ case 'lokatiw': // lokatiw
+ word = 'wo ' + word;
+ break;
+ }
+ return word;
};
diff --git a/resources/mediawiki.language/languages/hu.js b/resources/mediawiki.language/languages/hu.js
new file mode 100644
index 00000000..eb3f1f3a
--- /dev/null
+++ b/resources/mediawiki.language/languages/hu.js
@@ -0,0 +1,23 @@
+/**
+ * Hungarian language functions
+ * @author Santhosh Thottingal
+ */
+
+mediaWiki.language.convertGrammar = function( word, form ) {
+ var grammarForms = mw.language.getData( 'hu', 'grammarForms' );
+ if ( grammarForms && grammarForms[form] ) {
+ return grammarForms[form][word] ;
+ }
+ switch ( form ) {
+ case 'rol':
+ word += 'ról';
+ break;
+ case 'ba':
+ word += 'ba';
+ break;
+ case 'k':
+ word += 'k';
+ break;
+ }
+ return word;
+};
diff --git a/resources/mediawiki.language/languages/hy.js b/resources/mediawiki.language/languages/hy.js
index 734c26df..215e7504 100644
--- a/resources/mediawiki.language/languages/hy.js
+++ b/resources/mediawiki.language/languages/hy.js
@@ -2,7 +2,26 @@
* Armenian (Հայերեն) language functions
*/
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 2 );
- return ( Math.abs( count ) <= 1 ) ? forms[0] : forms[1];
+mediaWiki.language.convertGrammar = function( word, form ) {
+ var grammarForms = mw.language.getData( 'hy', 'grammarForms' );
+ if ( grammarForms && grammarForms[form] ) {
+ return grammarForms[form][word] ;
+ }
+
+ // These rules are not perfect, but they are currently only used for site names so it doesn't
+ // matter if they are wrong sometimes. Just add a special case for your site name if necessary.
+
+ switch ( form ) {
+ case 'genitive': // սեռական հոլով
+ if ( word.substr( -1 ) === 'ա' )
+ word = word.substr( 0, word.length -1 ) + 'այի';
+ else if ( word.substr( -1 ) === 'ո' )
+ word = word.substr( 0, word.length - 1 ) + 'ոյի';
+ else if ( word.substr( -4 ) === 'գիրք' )
+ word = word.substr( 0, word.length - 4 ) + 'գրքի';
+ else
+ word = word + 'ի';
+ break;
+ }
+ return word;
};
diff --git a/resources/mediawiki.language/languages/ksh.js b/resources/mediawiki.language/languages/ksh.js
deleted file mode 100644
index ed907325..00000000
--- a/resources/mediawiki.language/languages/ksh.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Ripuarian (Ripoarƒósh) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count == 1 ) {
- return forms[0];
- }
- if ( count == 0 ) {
- return forms[2];
- }
- return forms[1];
-};
diff --git a/resources/mediawiki.language/languages/la.js b/resources/mediawiki.language/languages/la.js
new file mode 100644
index 00000000..313bb1c2
--- /dev/null
+++ b/resources/mediawiki.language/languages/la.js
@@ -0,0 +1,50 @@
+/**
+ * Latin (lingua Latina) language functions
+ * @author Santhosh Thottingal
+ */
+
+mediaWiki.language.convertGrammar = function( word, form ) {
+ var grammarForms = mw.language.getData( 'la', 'grammarForms' );
+ if ( grammarForms && grammarForms[form] ) {
+ return grammarForms[form][word] ;
+ }
+ switch ( form ) {
+ case 'genitive':
+ // only a few declensions, and even for those mostly the singular only
+ word = word.replace( /u[ms]$/i, 'i' ); // 2nd declension singular
+ word = word.replace( /ommunia$/i, 'ommunium' ); // 3rd declension neuter plural (partly)
+ word = word.replace( /a$/i, 'ae' ); // 1st declension singular
+ word = word.replace( /libri$/i,'librorum' ); // 2nd declension plural (partly)
+ word = word.replace( /nuntii$/i, 'nuntiorum' ); // 2nd declension plural (partly)
+ word = word.replace( /tio$/i,'tionis' ); // 3rd declension singular (partly)
+ word = word.replace( /ns$/i, 'ntis' );
+ word = word.replace( /as$/i, 'atis' );
+ word = word.replace( /es$/i ,'ei' ); // 5th declension singular
+ break;
+ case 'accusative':
+ // only a few declensions, and even for those mostly the singular only
+ word = word.replace( /u[ms]$/i, 'um' ); // 2nd declension singular
+ word = word.replace( /ommunia$/i, 'am' ); // 3rd declension neuter plural (partly)
+ word = word.replace( /a$/i, 'ommunia' ); // 1st declension singular
+ word = word.replace( /libri$/i,'libros' ); // 2nd declension plural (partly)
+ word = word.replace( /nuntii$/i, 'nuntios' );// 2nd declension plural (partly)
+ word = word.replace( /tio$/i,'tionem' ); // 3rd declension singular (partly)
+ word = word.replace( /ns$/i, 'ntem' );
+ word = word.replace( /as$/i, 'atem');
+ word = word.replace( /es$/i ,'em' ); // 5th declension singular
+ break;
+ case 'ablative':
+ // only a few declensions, and even for those mostly the singular only
+ word = word.replace( /u[ms]$/i, 'o' ); // 2nd declension singular
+ word = word.replace( /ommunia$/i, 'ommunibus' ); // 3rd declension neuter plural (partly)
+ word = word.replace( /a$/i, 'a' ); // 1st declension singular
+ word = word.replace( /libri$/i,'libris' ); // 2nd declension plural (partly)
+ word = word.replace( /nuntii$/i, 'nuntiis' ); // 2nd declension plural (partly)
+ word = word.replace( /tio$/i,'tione' ); // 3rd declension singular (partly)
+ word = word.replace( /ns$/i, 'nte' );
+ word = word.replace( /as$/i, 'ate');
+ word = word.replace( /es$/i ,'e' ); // 5th declension singular
+ break;
+ }
+ return word;
+};
diff --git a/resources/mediawiki.language/languages/ln.js b/resources/mediawiki.language/languages/ln.js
deleted file mode 100644
index 9b9e456a..00000000
--- a/resources/mediawiki.language/languages/ln.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Lingala (Lingála) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 2 );
- return ( count <= 1 ) ? forms[0] : forms[1];
-};
diff --git a/resources/mediawiki.language/languages/lt.js b/resources/mediawiki.language/languages/lt.js
deleted file mode 100644
index 04964aff..00000000
--- a/resources/mediawiki.language/languages/lt.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Lithuanian (Lietuvių) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- // if the number is not mentioned in message, then use $form[0] for singular and $form[1] for plural or zero
- if ( forms.length == 2 ) {
- return count == 1 ? forms[0] : forms[1];
- }
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count % 10 == 1 && count % 100 != 11 ) {
- return forms[0];
- }
- if ( count % 10 >= 2 && ( count % 100 < 10 || count % 100 >= 20 ) ) {
- return forms[1];
- }
- return forms[2];
-};
diff --git a/resources/mediawiki.language/languages/lv.js b/resources/mediawiki.language/languages/lv.js
deleted file mode 100644
index d4bec44a..00000000
--- a/resources/mediawiki.language/languages/lv.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Latvian (Latviešu) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 2 );
- return ( ( count % 10 == 1 ) && ( count % 100 != 11 ) ) ? forms[0] : forms[1];
-};
diff --git a/resources/mediawiki.language/languages/mg.js b/resources/mediawiki.language/languages/mg.js
deleted file mode 100644
index b65e96e3..00000000
--- a/resources/mediawiki.language/languages/mg.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Malagasy (Malagasy) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 2 );
- return ( count <= 1 ) ? forms[0] : forms[1];
-};
diff --git a/resources/mediawiki.language/languages/mk.js b/resources/mediawiki.language/languages/mk.js
deleted file mode 100644
index c89bbac5..00000000
--- a/resources/mediawiki.language/languages/mk.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Macedonian (Македонски) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 2 );
- return ( ( count % 10 === 1 ) && ( count % 100 !== 11 ) ) ? forms[0] : forms[1];
-};
diff --git a/resources/mediawiki.language/languages/mo.js b/resources/mediawiki.language/languages/mo.js
deleted file mode 100644
index 0c4b696a..00000000
--- a/resources/mediawiki.language/languages/mo.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Moldavian (Молдовеняскэ) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count == 1 ) {
- return forms[0];
- }
- if ( count == 0 || count % 100 < 20 ) {
- return forms[1];
- }
- return forms[2];
-};
diff --git a/resources/mediawiki.language/languages/mt.js b/resources/mediawiki.language/languages/mt.js
deleted file mode 100644
index 44c7bfff..00000000
--- a/resources/mediawiki.language/languages/mt.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Maltese (Malti) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 4 );
- if ( count == 1 ) {
- return forms[0];
- }
- if ( count == 0 || ( count % 100 > 1 && count % 100 < 11 ) ) {
- return forms[1];
- }
- if ( count % 100 > 10 && count % 100 < 20 ) {
- return forms[2];
- }
- return forms[3];
-};
diff --git a/resources/mediawiki.language/languages/nl.js b/resources/mediawiki.language/languages/nl.js
deleted file mode 100644
index a2b22f4b..00000000
--- a/resources/mediawiki.language/languages/nl.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Dutch (Nederlands) language functions
- */
-
-mediaWiki.language.digitTransformTable = {
- '.' : ',',
- ',' : '.'
-};
diff --git a/resources/mediawiki.language/languages/nso.js b/resources/mediawiki.language/languages/nso.js
deleted file mode 100644
index 30cf1892..00000000
--- a/resources/mediawiki.language/languages/nso.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Northern Sotho (Sesotho sa Leboa) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 2 );
- return ( count <= 1 ) ? forms[0] : forms[1];
-};
diff --git a/resources/mediawiki.language/languages/os.js b/resources/mediawiki.language/languages/os.js
new file mode 100644
index 00000000..431e38c8
--- /dev/null
+++ b/resources/mediawiki.language/languages/os.js
@@ -0,0 +1,69 @@
+/**
+ * Ossetian (Ирон) language functions
+ * @author Santhosh Thottingal
+ */
+
+
+mediaWiki.language.convertGrammar = function( word, form ) {
+ var grammarForms = mw.language.getData( 'os', 'grammarForms' );
+ if ( grammarForms && grammarForms[form] ) {
+ return grammarForms[form][word] ;
+ }
+ // Ending for allative case
+ var end_allative = 'мæ';
+ // Variable for 'j' beetwen vowels
+ var jot = '';
+ // Variable for "-" for not Ossetic words
+ var hyphen = '';
+ // Variable for ending
+ var ending = '';
+ // Checking if the $word is in plural form
+ if ( word.match( /тæ$/i ) ) {
+ word = word.substring( 0, word.length - 1 );
+ end_allative = 'æм';
+ }
+ // Works if word is in singular form.
+ // Checking if word ends on one of the vowels: е, ё, и, о, ы, э, ю, я.
+ else if ( word.match( /[аæеёиоыэюя]$/i ) ) {
+ jot = 'й';
+ }
+ // Checking if word ends on 'у'. 'У' can be either consonant 'W' or vowel 'U' in cyrillic Ossetic.
+ // Examples: {{grammar:genitive|аунеу}} = аунеуы, {{grammar:genitive|лæппу}} = лæппуйы.
+ else if ( word.match( /у$/i ) ) {
+ if ( ! word.substring( word.length-2, word.length-1 ).match( /[аæеёиоыэюя]$/i ) ) {
+ jot = 'й';
+ }
+ } else if ( !word.match( /[бвгджзйклмнопрстфхцчшщьъ]$/i ) ) {
+ hyphen = '-';
+ }
+
+ switch ( form ) {
+ case 'genitive':
+ ending = hyphen + jot + 'ы';
+ break;
+ case 'dative':
+ ending = hyphen + jot + 'æн';
+ break;
+ case 'allative':
+ ending = hyphen + end_allative;
+ break;
+ case 'ablative':
+ if ( jot == 'й' ) {
+ ending = hyphen + jot + 'æ';
+ }
+ else {
+ ending = hyphen + jot + 'æй';
+ }
+ break;
+ case 'superessive':
+ ending = hyphen + jot + 'ыл';
+ break;
+ case 'equative':
+ ending = hyphen + jot + 'ау';
+ break;
+ case 'comitative':
+ ending = hyphen + 'имæ';
+ break;
+ }
+ return word + ending;
+};
diff --git a/resources/mediawiki.language/languages/pl.js b/resources/mediawiki.language/languages/pl.js
deleted file mode 100644
index 03e0d842..00000000
--- a/resources/mediawiki.language/languages/pl.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Polish (polski) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- count = Math.abs( count );
- if ( count == 1 ) {
- return forms[0];
- }
- switch ( count % 10 ) {
- case 2:
- case 3:
- case 4:
- if ( count / 10 % 10 != 1 ) {
- return forms[1];
- }
- default:
- return forms[2];
- }
-};
diff --git a/resources/mediawiki.language/languages/pt-br.js b/resources/mediawiki.language/languages/pt-br.js
deleted file mode 100644
index 2457e247..00000000
--- a/resources/mediawiki.language/languages/pt-br.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Brazilian Portugese (Portuguêsi do Brasil) language functions
- */
-
-mediaWiki.language.digitTransformTable = {
- '.' : ',',
- ',' : ' '
-};
diff --git a/resources/mediawiki.language/languages/pt.js b/resources/mediawiki.language/languages/pt.js
deleted file mode 100644
index 1b8fc72f..00000000
--- a/resources/mediawiki.language/languages/pt.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Portugese language functions
- */
-
-mediaWiki.language.digitTransformTable = {
- '.' : ',',
- ',' : ' '
-};
diff --git a/resources/mediawiki.language/languages/ro.js b/resources/mediawiki.language/languages/ro.js
deleted file mode 100644
index 42610fe6..00000000
--- a/resources/mediawiki.language/languages/ro.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Romanian (Română) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count == 1 ) {
- return forms[0];
- }
- if ( count == 0 || count % 100 < 20 ) {
- return forms[1];
- }
- return forms[2];
-};
diff --git a/resources/mediawiki.language/languages/ru.js b/resources/mediawiki.language/languages/ru.js
index 17c92931..cfdbfc3b 100644
--- a/resources/mediawiki.language/languages/ru.js
+++ b/resources/mediawiki.language/languages/ru.js
@@ -2,22 +2,28 @@
* Russian (Русский) language functions
*/
-mediaWiki.language.convertPlural = function( count, forms ) {
- if ( forms.length === 2 ) {
- return count == 1 ? forms[0] : forms[1];
+mediaWiki.language.convertGrammar = function( word, form ) {
+ var grammarForms = mw.language.getData( 'ru', 'grammarForms' );
+ if ( grammarForms && grammarForms[form] ) {
+ return grammarForms[form][word] ;
}
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count > 10 && Math.floor( ( count % 100 ) / 10 ) == 1 ) {
- return forms[2];
- }
- switch ( count % 10 ) {
- case 1:
- return forms[0];
- case 2:
- case 3:
- case 4:
- return forms[1];
- default:
- return forms[2];
+ switch ( form ) {
+ case 'genitive': // родительный падеж
+ if ( ( word.substr( word.length - 4 ) == 'вики' ) || ( word.substr( word.length - 4 ) == 'Вики' ) ) {
+ }
+ else if ( word.substr( word.length - 1 ) == 'ь' )
+ word = word.substr(0, word.length - 1 ) + 'я';
+ else if ( word.substr( word.length - 2 ) == 'ия' )
+ word = word.substr(0, word.length - 2 ) + 'ии';
+ else if ( word.substr( word.length - 2 ) == 'ка' )
+ word = word.substr(0, word.length - 2 ) + 'ки';
+ else if ( word.substr( word.length - 2 ) == 'ти' )
+ word = word.substr(0, word.length - 2 ) + 'тей';
+ else if ( word.substr( word.length - 2 ) == 'ды' )
+ word = word.substr(0, word.length - 2 ) + 'дов';
+ else if ( word.substr( word.length - 3 ) == 'ник' )
+ word = word.substr(0, word.length - 3 ) + 'ника';
+ break;
}
+ return word;
};
diff --git a/resources/mediawiki.language/languages/se.js b/resources/mediawiki.language/languages/se.js
deleted file mode 100644
index e1ae5b9a..00000000
--- a/resources/mediawiki.language/languages/se.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Northern Sami (Sámegiella) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- if ( !forms || forms.length === 0 ) {
- return '';
- }
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count == 1 ) {
- return forms[0];
- }
- if ( count == 2 ) {
- return forms[1];
- }
- return forms[2];
-};
diff --git a/resources/mediawiki.language/languages/sh.js b/resources/mediawiki.language/languages/sh.js
deleted file mode 100644
index 719b0c57..00000000
--- a/resources/mediawiki.language/languages/sh.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Serbo-Croatian (Srpskohrvatski / Српскохрватски) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- if ( forms.length === 2 ) {
- return count == 1 ? forms[0] : forms[1];
- }
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count > 10 && Math.floor( ( count % 100 ) / 10 ) == 1 ) {
- return forms[2];
- }
- switch ( count % 10 ) {
- case 1:
- return forms[0];
- case 2:
- case 3:
- case 4:
- return forms[1];
- default:
- return forms[2];
- }
-};
diff --git a/resources/mediawiki.language/languages/sk.js b/resources/mediawiki.language/languages/sk.js
deleted file mode 100644
index 21a22b21..00000000
--- a/resources/mediawiki.language/languages/sk.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Slovak (Slovenčina) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count == 1 ) {
- return forms[0];
- }
- if ( count == 2 || count == 3 || count == 4 ) {
- return forms[1];
- }
- return forms[2];
-};
diff --git a/resources/mediawiki.language/languages/sl.js b/resources/mediawiki.language/languages/sl.js
index a887e0e0..acd00bfd 100644
--- a/resources/mediawiki.language/languages/sl.js
+++ b/resources/mediawiki.language/languages/sl.js
@@ -2,19 +2,18 @@
* Slovenian (Slovenščina) language functions
*/
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 5 );
- if ( count % 100 == 1 ) {
- return forms[0];
+mediaWiki.language.convertGrammar = function( word, form ) {
+ var grammarForms = mw.language.getData( 'sl', 'grammarForms' );
+ if ( grammarForms && grammarForms[form] ) {
+ return grammarForms[form][word] ;
}
- if ( count % 100 == 2 ) {
- return forms[1];
+ switch ( form ) {
+ case 'mestnik': // locative
+ word = 'o ' + word;
+ break;
+ case 'orodnik': // instrumental
+ word = 'z ' + word;
+ break;
}
- if ( count % 100 == 3 || count % 100 == 4 ) {
- return forms[2];
- }
- if ( count != 0 ) {
- return forms[3];
- }
- return forms[4];
+ return word;
};
diff --git a/resources/mediawiki.language/languages/sma.js b/resources/mediawiki.language/languages/sma.js
deleted file mode 100644
index 8163c42c..00000000
--- a/resources/mediawiki.language/languages/sma.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Southern Sami (Åarjelsaemien) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- if ( !forms || forms.length === 0 ) {
- return '';
- }
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count == 1 ) {
- return forms[0];
- }
- if ( count == 2 ) {
- return forms[1];
- }
- return forms[2];
-};
diff --git a/resources/mediawiki.language/languages/sr-ec.js b/resources/mediawiki.language/languages/sr-ec.js
deleted file mode 100644
index af48eb07..00000000
--- a/resources/mediawiki.language/languages/sr-ec.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Serbian (cyrillic script) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count > 10 && Math.floor( ( count % 100 ) / 10 ) == 1 ) {
- return forms[2];
- }
- switch ( count % 10 ) {
- case 1:
- return forms[0];
- case 2:
- case 3:
- case 4:
- return forms[1];
- default:
- return forms[2];
- }
-};
diff --git a/resources/mediawiki.language/languages/sr-el.js b/resources/mediawiki.language/languages/sr-el.js
deleted file mode 100644
index fd6ca012..00000000
--- a/resources/mediawiki.language/languages/sr-el.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Serbian (latin script) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count > 10 && Math.floor( ( count % 100 ) / 10 ) == 1 ) {
- return forms[2];
- }
- switch ( count % 10 ) {
- case 1:
- return forms[0];
- case 2:
- case 3:
- case 4:
- return forms[1];
- default:
- return forms[2];
- }
-};
diff --git a/resources/mediawiki.language/languages/sr.js b/resources/mediawiki.language/languages/sr.js
deleted file mode 100644
index 25cdc8a2..00000000
--- a/resources/mediawiki.language/languages/sr.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Serbian (Српски / Srpski) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- if ( forms.length === 2 ) {
- return ( count == 1 ) ? forms[0] : forms[1];
- }
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count > 10 && Math.floor( ( count % 100 ) / 10 ) == 1 ) {
- return forms[2];
- }
- switch ( count % 10 ) {
- case 1:
- return forms[0];
- case 2:
- case 3:
- case 4:
- return forms[1];
- default:
- return forms[2];
- }
-};
diff --git a/resources/mediawiki.language/languages/ti.js b/resources/mediawiki.language/languages/ti.js
deleted file mode 100644
index 69b6d9b8..00000000
--- a/resources/mediawiki.language/languages/ti.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Tigrinya (ትግርኛ) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural(forms, 2);
- return (count <= 1) ? forms[0] : forms[1];
-};
diff --git a/resources/mediawiki.language/languages/tl.js b/resources/mediawiki.language/languages/tl.js
deleted file mode 100644
index 29219fdb..00000000
--- a/resources/mediawiki.language/languages/tl.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * Tagalog (Tagalog) language functions
- */
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 2 );
- return ( count <= 1 ) ? forms[0] : forms[1];
-};
diff --git a/resources/mediawiki.language/languages/uk.js b/resources/mediawiki.language/languages/uk.js
index 5c1294e7..ee110b06 100644
--- a/resources/mediawiki.language/languages/uk.js
+++ b/resources/mediawiki.language/languages/uk.js
@@ -2,22 +2,34 @@
* Ukrainian (Українська) language functions
*/
-mediaWiki.language.convertPlural = function( count, forms ) {
- if ( forms.length === 2 ) {
- return count == 1 ? forms[0] : forms[1];
+mediaWiki.language.convertGrammar = function( word, form ) {
+ var grammarForms = mw.language.getData( 'uk', 'grammarForms' );
+ if ( grammarForms && grammarForms[form] ) {
+ return grammarForms[form][word] ;
}
- forms = mediaWiki.language.preConvertPlural( forms, 3 );
- if ( count > 10 && Math.floor( ( count % 100 ) / 10 ) == 1 ) {
- return forms[2];
- }
- switch ( count % 10 ) {
- case 1:
- return forms[0];
- case 2:
- case 3:
- case 4:
- return forms[1];
- default:
- return forms[2];
+ switch ( form ) {
+ case 'genitive': // родовий відмінок
+ if ( ( word.substr( word.length - 4 ) == 'вікі' ) || ( word.substr( word.length - 4 ) == 'Вікі' ) ) {
+ }
+ else if ( word.substr( word.length - 1 ) == 'ь' )
+ word = word.substr(0, word.length - 1 ) + 'я';
+ else if ( word.substr( word.length - 2 ) == 'ія' )
+ word = word.substr(0, word.length - 2 ) + 'ії';
+ else if ( word.substr( word.length - 2 ) == 'ка' )
+ word = word.substr(0, word.length - 2 ) + 'ки';
+ else if ( word.substr( word.length - 2 ) == 'ти' )
+ word = word.substr(0, word.length - 2 ) + 'тей';
+ else if ( word.substr( word.length - 2 ) == 'ды' )
+ word = word.substr(0, word.length - 2 ) + 'дов';
+ else if ( word.substr( word.length - 3 ) == 'ник' )
+ word = word.substr(0, word.length - 3 ) + 'ника';
+ break;
+ case 'accusative': // знахідний відмінок
+ if ( ( word.substr( word.length - 4 ) == 'вікі' ) || ( word.substr( word.length - 4 ) == 'Вікі' ) ) {
+ }
+ else if ( word.substr( word.length - 2 ) == 'ія' )
+ word = word.substr(0, word.length - 2 ) + 'ію';
+ break;
}
+ return word;
};
diff --git a/resources/mediawiki.language/languages/wa.js b/resources/mediawiki.language/languages/wa.js
deleted file mode 100644
index e1773759..00000000
--- a/resources/mediawiki.language/languages/wa.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Walloon (Walon) language functions
- */
-
-mediaWiki.language.convertPlural = function( count, forms ) {
- forms = mediaWiki.language.preConvertPlural( forms, 2 );
- return ( count <= 1 ) ? forms[0] : forms[1];
-};