summaryrefslogtreecommitdiff
path: root/resources/mediawiki.language
diff options
context:
space:
mode:
Diffstat (limited to 'resources/mediawiki.language')
-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.js20
-rw-r--r--resources/mediawiki.language/languages/cs.js19
-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.js18
-rw-r--r--resources/mediawiki.language/languages/fr.js8
-rw-r--r--resources/mediawiki.language/languages/ga.js14
-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.js14
-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.js18
-rw-r--r--resources/mediawiki.language/languages/hy.js8
-rw-r--r--resources/mediawiki.language/languages/ksh.js14
-rw-r--r--resources/mediawiki.language/languages/ln.js8
-rw-r--r--resources/mediawiki.language/languages/lt.js17
-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/nso.js8
-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/ro.js14
-rw-r--r--resources/mediawiki.language/languages/ru.js23
-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.js20
-rw-r--r--resources/mediawiki.language/languages/sma.js14
-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.js23
-rw-r--r--resources/mediawiki.language/languages/wa.js8
-rw-r--r--resources/mediawiki.language/mediawiki.language.js102
46 files changed, 798 insertions, 0 deletions
diff --git a/resources/mediawiki.language/languages/am.js b/resources/mediawiki.language/languages/am.js
new file mode 100644
index 00000000..fa5d3c57
--- /dev/null
+++ b/resources/mediawiki.language/languages/am.js
@@ -0,0 +1,8 @@
+/**
+ * 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
new file mode 100644
index 00000000..7d9e114f
--- /dev/null
+++ b/resources/mediawiki.language/languages/ar.js
@@ -0,0 +1,38 @@
+/**
+ * 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
new file mode 100644
index 00000000..6e3f4cc9
--- /dev/null
+++ b/resources/mediawiki.language/languages/bat-smg.js
@@ -0,0 +1,18 @@
+/**
+ * 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
new file mode 100644
index 00000000..c19f47d1
--- /dev/null
+++ b/resources/mediawiki.language/languages/be-tarask.js
@@ -0,0 +1,23 @@
+/**
+ * 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
new file mode 100644
index 00000000..97ceee3b
--- /dev/null
+++ b/resources/mediawiki.language/languages/be.js
@@ -0,0 +1,20 @@
+/**
+ * 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
new file mode 100644
index 00000000..abbf8bd9
--- /dev/null
+++ b/resources/mediawiki.language/languages/bh.js
@@ -0,0 +1,8 @@
+/**
+ * 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
new file mode 100644
index 00000000..9f22426a
--- /dev/null
+++ b/resources/mediawiki.language/languages/bs.js
@@ -0,0 +1,20 @@
+/**
+ * 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];
+ }
+ 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/cs.js b/resources/mediawiki.language/languages/cs.js
new file mode 100644
index 00000000..0b77909d
--- /dev/null
+++ b/resources/mediawiki.language/languages/cs.js
@@ -0,0 +1,19 @@
+/**
+ * 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];
+ break;
+ case 2:
+ case 3:
+ case 4:
+ return forms[1];
+ break;
+ default:
+ return forms[2];
+ }
+};
diff --git a/resources/mediawiki.language/languages/cu.js b/resources/mediawiki.language/languages/cu.js
new file mode 100644
index 00000000..35a54739
--- /dev/null
+++ b/resources/mediawiki.language/languages/cu.js
@@ -0,0 +1,18 @@
+/**
+ * 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
new file mode 100644
index 00000000..333d956f
--- /dev/null
+++ b/resources/mediawiki.language/languages/cy.js
@@ -0,0 +1,15 @@
+/**
+ * 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
new file mode 100644
index 00000000..c3eaa1fc
--- /dev/null
+++ b/resources/mediawiki.language/languages/dsb.js
@@ -0,0 +1,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];
+ }
+};
diff --git a/resources/mediawiki.language/languages/fr.js b/resources/mediawiki.language/languages/fr.js
new file mode 100644
index 00000000..bfb52d28
--- /dev/null
+++ b/resources/mediawiki.language/languages/fr.js
@@ -0,0 +1,8 @@
+/**
+ * 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
new file mode 100644
index 00000000..39280138
--- /dev/null
+++ b/resources/mediawiki.language/languages/ga.js
@@ -0,0 +1,14 @@
+/**
+ * Irish (Gaeilge) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ 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/gd.js b/resources/mediawiki.language/languages/gd.js
new file mode 100644
index 00000000..5ac20077
--- /dev/null
+++ b/resources/mediawiki.language/languages/gd.js
@@ -0,0 +1,18 @@
+/**
+ * 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
new file mode 100644
index 00000000..afc2b5d4
--- /dev/null
+++ b/resources/mediawiki.language/languages/gv.js
@@ -0,0 +1,18 @@
+/**
+ * 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
new file mode 100644
index 00000000..b74440e4
--- /dev/null
+++ b/resources/mediawiki.language/languages/he.js
@@ -0,0 +1,14 @@
+/**
+ * Hebrew (עברית) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ forms = mediaWiki.language.preConvertPlural( forms, 3 );
+ if ( count == 1 ) {
+ return forms[0];
+ }
+ if ( count == 2 && forms[2] ) {
+ return forms[2];
+ }
+ return forms[1];
+};
diff --git a/resources/mediawiki.language/languages/hi.js b/resources/mediawiki.language/languages/hi.js
new file mode 100644
index 00000000..a22a0e17
--- /dev/null
+++ b/resources/mediawiki.language/languages/hi.js
@@ -0,0 +1,8 @@
+/**
+ * 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
new file mode 100644
index 00000000..e3ce291b
--- /dev/null
+++ b/resources/mediawiki.language/languages/hr.js
@@ -0,0 +1,20 @@
+/**
+ * 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
new file mode 100644
index 00000000..8651fe41
--- /dev/null
+++ b/resources/mediawiki.language/languages/hsb.js
@@ -0,0 +1,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];
+ }
+};
diff --git a/resources/mediawiki.language/languages/hy.js b/resources/mediawiki.language/languages/hy.js
new file mode 100644
index 00000000..734c26df
--- /dev/null
+++ b/resources/mediawiki.language/languages/hy.js
@@ -0,0 +1,8 @@
+/**
+ * Armenian (Հայերեն) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ forms = mediaWiki.language.preConvertPlural( forms, 2 );
+ return ( Math.abs( count ) <= 1 ) ? forms[0] : forms[1];
+};
diff --git a/resources/mediawiki.language/languages/ksh.js b/resources/mediawiki.language/languages/ksh.js
new file mode 100644
index 00000000..ed907325
--- /dev/null
+++ b/resources/mediawiki.language/languages/ksh.js
@@ -0,0 +1,14 @@
+/**
+ * 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/ln.js b/resources/mediawiki.language/languages/ln.js
new file mode 100644
index 00000000..9b9e456a
--- /dev/null
+++ b/resources/mediawiki.language/languages/ln.js
@@ -0,0 +1,8 @@
+/**
+ * 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
new file mode 100644
index 00000000..ee0a609b
--- /dev/null
+++ b/resources/mediawiki.language/languages/lt.js
@@ -0,0 +1,17 @@
+/**
+ * Lithuanian (Lietuvių) 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 == 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
new file mode 100644
index 00000000..d4bec44a
--- /dev/null
+++ b/resources/mediawiki.language/languages/lv.js
@@ -0,0 +1,8 @@
+/**
+ * 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
new file mode 100644
index 00000000..b65e96e3
--- /dev/null
+++ b/resources/mediawiki.language/languages/mg.js
@@ -0,0 +1,8 @@
+/**
+ * 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
new file mode 100644
index 00000000..5105025c
--- /dev/null
+++ b/resources/mediawiki.language/languages/mk.js
@@ -0,0 +1,8 @@
+/**
+ * Macedonian (Македонски) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ forms = mediaWiki.language.preConvertPlural( forms, 2 );
+ return ( count % 10 === 1 ) ? forms[0] : forms[1];
+};
diff --git a/resources/mediawiki.language/languages/mo.js b/resources/mediawiki.language/languages/mo.js
new file mode 100644
index 00000000..0c4b696a
--- /dev/null
+++ b/resources/mediawiki.language/languages/mo.js
@@ -0,0 +1,14 @@
+/**
+ * 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
new file mode 100644
index 00000000..44c7bfff
--- /dev/null
+++ b/resources/mediawiki.language/languages/mt.js
@@ -0,0 +1,17 @@
+/**
+ * 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/nso.js b/resources/mediawiki.language/languages/nso.js
new file mode 100644
index 00000000..30cf1892
--- /dev/null
+++ b/resources/mediawiki.language/languages/nso.js
@@ -0,0 +1,8 @@
+/**
+ * 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/pl.js b/resources/mediawiki.language/languages/pl.js
new file mode 100644
index 00000000..03e0d842
--- /dev/null
+++ b/resources/mediawiki.language/languages/pl.js
@@ -0,0 +1,21 @@
+/**
+ * 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
new file mode 100644
index 00000000..eda10d2e
--- /dev/null
+++ b/resources/mediawiki.language/languages/pt-br.js
@@ -0,0 +1,8 @@
+/**
+ * Brazilian Portugese (Portuguêsi do Brasil) 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/ro.js b/resources/mediawiki.language/languages/ro.js
new file mode 100644
index 00000000..42610fe6
--- /dev/null
+++ b/resources/mediawiki.language/languages/ro.js
@@ -0,0 +1,14 @@
+/**
+ * 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
new file mode 100644
index 00000000..17c92931
--- /dev/null
+++ b/resources/mediawiki.language/languages/ru.js
@@ -0,0 +1,23 @@
+/**
+ * Russian (Русский) 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/se.js b/resources/mediawiki.language/languages/se.js
new file mode 100644
index 00000000..51ebaf25
--- /dev/null
+++ b/resources/mediawiki.language/languages/se.js
@@ -0,0 +1,17 @@
+/**
+ * Northern Sami (Sámegiella) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ if ( count == 0 ) {
+ return '';
+ }
+ forms = mediaWiki.language.preConvertPlural( forms, 3 );
+ if ( count == 1 ) {
+ return forms[1];
+ }
+ if ( count == 2 ) {
+ return forms[2];
+ }
+ return ''
+};
diff --git a/resources/mediawiki.language/languages/sh.js b/resources/mediawiki.language/languages/sh.js
new file mode 100644
index 00000000..719b0c57
--- /dev/null
+++ b/resources/mediawiki.language/languages/sh.js
@@ -0,0 +1,23 @@
+/**
+ * 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
new file mode 100644
index 00000000..21a22b21
--- /dev/null
+++ b/resources/mediawiki.language/languages/sk.js
@@ -0,0 +1,14 @@
+/**
+ * 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
new file mode 100644
index 00000000..a887e0e0
--- /dev/null
+++ b/resources/mediawiki.language/languages/sl.js
@@ -0,0 +1,20 @@
+/**
+ * Slovenian (Slovenščina) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ forms = mediaWiki.language.preConvertPlural( forms, 5 );
+ if ( count % 100 == 1 ) {
+ return forms[0];
+ }
+ if ( count % 100 == 2 ) {
+ return forms[1];
+ }
+ if ( count % 100 == 3 || count % 100 == 4 ) {
+ return forms[2];
+ }
+ if ( count != 0 ) {
+ return forms[3];
+ }
+ return forms[4];
+};
diff --git a/resources/mediawiki.language/languages/sma.js b/resources/mediawiki.language/languages/sma.js
new file mode 100644
index 00000000..d3ccf625
--- /dev/null
+++ b/resources/mediawiki.language/languages/sma.js
@@ -0,0 +1,14 @@
+/**
+ * Southern Sami (Åarjelsaemien) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ forms = mediaWiki.language.preConvertPlural( forms, 4 );
+ if ( count == 1 ) {
+ return forms[1];
+ }
+ if ( count == 2 ) {
+ return forms[2];
+ }
+ return forms[3];
+};
diff --git a/resources/mediawiki.language/languages/sr-ec.js b/resources/mediawiki.language/languages/sr-ec.js
new file mode 100644
index 00000000..af48eb07
--- /dev/null
+++ b/resources/mediawiki.language/languages/sr-ec.js
@@ -0,0 +1,20 @@
+/**
+ * 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
new file mode 100644
index 00000000..fd6ca012
--- /dev/null
+++ b/resources/mediawiki.language/languages/sr-el.js
@@ -0,0 +1,20 @@
+/**
+ * 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
new file mode 100644
index 00000000..25cdc8a2
--- /dev/null
+++ b/resources/mediawiki.language/languages/sr.js
@@ -0,0 +1,23 @@
+/**
+ * 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
new file mode 100644
index 00000000..69b6d9b8
--- /dev/null
+++ b/resources/mediawiki.language/languages/ti.js
@@ -0,0 +1,8 @@
+/**
+ * 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
new file mode 100644
index 00000000..29219fdb
--- /dev/null
+++ b/resources/mediawiki.language/languages/tl.js
@@ -0,0 +1,7 @@
+/**
+ * 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
new file mode 100644
index 00000000..5c1294e7
--- /dev/null
+++ b/resources/mediawiki.language/languages/uk.js
@@ -0,0 +1,23 @@
+/**
+ * Ukrainian (Українська) 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/wa.js b/resources/mediawiki.language/languages/wa.js
new file mode 100644
index 00000000..e1773759
--- /dev/null
+++ b/resources/mediawiki.language/languages/wa.js
@@ -0,0 +1,8 @@
+/**
+ * Walloon (Walon) 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/mediawiki.language.js b/resources/mediawiki.language/mediawiki.language.js
new file mode 100644
index 00000000..f199101b
--- /dev/null
+++ b/resources/mediawiki.language/mediawiki.language.js
@@ -0,0 +1,102 @@
+/**
+ * Base language object
+ *
+ * Localized Language support attempts to mirror some of the functionality of
+ * Language.php in MediaWiki. This object contains methods for loading and
+ * transforming message text.
+ */
+( function( $, mw ) {
+
+mw.language = {
+ /**
+ * Process the PLURAL template substitution
+ *
+ * @param {object} template Template object
+ * @format template
+ * {
+ * 'title': [title of template],
+ * 'parameters': [template parameters]
+ * }
+ * @example {{Template:title|params}}
+ */
+ 'procPLURAL': function( template ) {
+ if ( template.title && template.parameters && mw.language.convertPlural ) {
+ // Check if we have forms to replace
+ if ( template.parameters.length == 0 ) {
+ return '';
+ }
+ // Restore the count into a Number ( if it got converted earlier )
+ var count = mw.language.convertNumber( template.title, true );
+ // Do convertPlural call
+ return mw.language.convertPlural( parseInt( count ), template.parameters );
+ }
+ // Could not process plural return first form or nothing
+ if ( template.parameters[0] ) {
+ return template.parameters[0];
+ }
+ return '';
+ },
+ /**
+ * Plural form transformations, needed for some languages.
+ *
+ * @param count integer Non-localized quantifier
+ * @param forms array List of plural forms
+ * @return string Correct form for quantifier in this language
+ */
+ 'convertPlural': function( count, forms ){
+ if ( !forms || forms.length == 0 ) {
+ return '';
+ }
+ return ( parseInt( count ) == 1 ) ? forms[0] : forms[1];
+ },
+ /**
+ * Pads an array to a specific length by copying the last one element.
+ *
+ * @param forms array Number of forms given to convertPlural
+ * @param count integer Number of forms required
+ * @return array Padded array of forms
+ */
+ 'preConvertPlural': function( forms, count ) {
+ while ( forms.length < count ) {
+ forms.push( forms[ forms.length-1 ] );
+ }
+ return forms;
+ },
+ /**
+ * Converts a number using digitTransformTable.
+ *
+ * @param {number} number Value to be converted
+ * @param {boolean} integer Convert the return value to an integer
+ */
+ 'convertNumber': function( number, integer ) {
+ if ( !mw.language.digitTransformTable ) {
+ return number;
+ }
+ // Set the target Transform table:
+ var transformTable = mw.language.digitTransformTable;
+ // Check if the "restore" to Latin number flag is set:
+ if ( integer ) {
+ if ( parseInt( number ) == number ) {
+ return number;
+ }
+ var tmp = [];
+ for ( var i in transformTable ) {
+ tmp[ transformTable[ i ] ] = i;
+ }
+ transformTable = tmp;
+ }
+ var numberString = '' + number;
+ var convertedNumber = '';
+ for ( var i = 0; i < numberString.length; i++ ) {
+ if ( transformTable[ numberString[i] ] ) {
+ convertedNumber += transformTable[numberString[i]];
+ } else {
+ convertedNumber += numberString[i];
+ }
+ }
+ return integer ? parseInt( convertedNumber ) : convertedNumber;
+ },
+ // Digit Transform Table, populated by language classes where applicable
+ 'digitTransformTable': null
+};
+} )( jQuery, mediaWiki ); \ No newline at end of file