Remove all custom plural rules and use CLDR plural rule system
authorSanthosh Thottingal <santhosh.thottingal@gmail.com>
Sat, 15 Sep 2012 03:53:45 +0000 (20:53 -0700)
committerSanthosh Thottingal <santhosh.thottingal@gmail.com>
Sat, 15 Sep 2012 19:20:22 +0000 (12:20 -0700)
We have a data driven plural rule evaluation system in core now.
See I1aa3b081

Added more tests

Change-Id: I4451fc7d434d9d29bb6ea36f0c0698fbe8dc4ff4

43 files changed:
resources/mediawiki.language/languages/am.js [deleted file]
resources/mediawiki.language/languages/bat-smg.js [deleted file]
resources/mediawiki.language/languages/be-tarask.js [deleted file]
resources/mediawiki.language/languages/be.js [deleted file]
resources/mediawiki.language/languages/bh.js [deleted file]
resources/mediawiki.language/languages/bs.js
resources/mediawiki.language/languages/cs.js [deleted file]
resources/mediawiki.language/languages/cu.js [deleted file]
resources/mediawiki.language/languages/cy.js [deleted file]
resources/mediawiki.language/languages/dsb.js
resources/mediawiki.language/languages/fr.js [deleted file]
resources/mediawiki.language/languages/ga.js
resources/mediawiki.language/languages/gd.js [deleted file]
resources/mediawiki.language/languages/gv.js [deleted file]
resources/mediawiki.language/languages/hr.js [deleted file]
resources/mediawiki.language/languages/hsb.js
resources/mediawiki.language/languages/hy.js
resources/mediawiki.language/languages/ksh.js [deleted file]
resources/mediawiki.language/languages/ln.js [deleted file]
resources/mediawiki.language/languages/lt.js [deleted file]
resources/mediawiki.language/languages/lv.js [deleted file]
resources/mediawiki.language/languages/mg.js [deleted file]
resources/mediawiki.language/languages/mk.js [deleted file]
resources/mediawiki.language/languages/mo.js [deleted file]
resources/mediawiki.language/languages/mt.js [deleted file]
resources/mediawiki.language/languages/nso.js [deleted file]
resources/mediawiki.language/languages/pl.js [deleted file]
resources/mediawiki.language/languages/ro.js [deleted file]
resources/mediawiki.language/languages/ru.js
resources/mediawiki.language/languages/se.js [deleted file]
resources/mediawiki.language/languages/sh.js [deleted file]
resources/mediawiki.language/languages/sk.js [deleted file]
resources/mediawiki.language/languages/sl.js
resources/mediawiki.language/languages/sma.js [deleted file]
resources/mediawiki.language/languages/sr-ec.js [deleted file]
resources/mediawiki.language/languages/sr-el.js [deleted file]
resources/mediawiki.language/languages/sr.js [deleted file]
resources/mediawiki.language/languages/ti.js [deleted file]
resources/mediawiki.language/languages/tl.js [deleted file]
resources/mediawiki.language/languages/uk.js
resources/mediawiki.language/languages/wa.js [deleted file]
resources/mediawiki.language/mediawiki.language.init.js
tests/qunit/suites/resources/mediawiki/mediawiki.cldr.test.js

diff --git a/resources/mediawiki.language/languages/am.js b/resources/mediawiki.language/languages/am.js
deleted file mode 100644 (file)
index fa5d3c5..0000000
+++ /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/bat-smg.js b/resources/mediawiki.language/languages/bat-smg.js
deleted file mode 100644 (file)
index 6e3f4cc..0000000
+++ /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 (file)
index c19f47d..0000000
+++ /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 (file)
index 97ceee3..0000000
+++ /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 (file)
index abbf8bd..0000000
+++ /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];
-};
index 9affcf0..c0c77aa 100644 (file)
@@ -2,23 +2,6 @@
  * 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];
-       }
-};
-
 mediaWiki.language.convertGrammar = function( word, form ) {
        var grammarForms = mw.language.getData( 'bs', 'grammarForms' );
        if ( grammarForms && grammarForms[form] ) {
diff --git a/resources/mediawiki.language/languages/cs.js b/resources/mediawiki.language/languages/cs.js
deleted file mode 100644 (file)
index 04dda99..0000000
+++ /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 (file)
index 35a5473..0000000
+++ /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 (file)
index 333d956..0000000
+++ /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];
-};
index e3c5808..a42a8f7 100644 (file)
@@ -2,21 +2,6 @@
  * 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] ) {
diff --git a/resources/mediawiki.language/languages/fr.js b/resources/mediawiki.language/languages/fr.js
deleted file mode 100644 (file)
index bfb52d2..0000000
+++ /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];
-};
index 51fce35..a27b489 100644 (file)
@@ -2,18 +2,6 @@
  * 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];
-};
-
-
 mediaWiki.language.convertGrammar = function( word, form ) {
        var grammarForms = mw.language.getData( 'ga', 'grammarForms' );
        if ( grammarForms && grammarForms[form] ) {
diff --git a/resources/mediawiki.language/languages/gd.js b/resources/mediawiki.language/languages/gd.js
deleted file mode 100644 (file)
index 5ac2007..0000000
+++ /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 (file)
index afc2b5d..0000000
+++ /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/hr.js b/resources/mediawiki.language/languages/hr.js
deleted file mode 100644 (file)
index e3ce291..0000000
+++ /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];
-       }
-};
index 6aa993c..211d67b 100644 (file)
@@ -2,22 +2,6 @@
  * 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] ) {
index b51b2b6..215e750 100644 (file)
@@ -2,11 +2,6 @@
  * 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] ) {
diff --git a/resources/mediawiki.language/languages/ksh.js b/resources/mediawiki.language/languages/ksh.js
deleted file mode 100644 (file)
index ed90732..0000000
+++ /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/ln.js b/resources/mediawiki.language/languages/ln.js
deleted file mode 100644 (file)
index 9b9e456..0000000
+++ /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 (file)
index 04964af..0000000
+++ /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 (file)
index d4bec44..0000000
+++ /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 (file)
index b65e96e..0000000
+++ /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 (file)
index c89bbac..0000000
+++ /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 (file)
index 0c4b696..0000000
+++ /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 (file)
index 44c7bff..0000000
+++ /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/nso.js b/resources/mediawiki.language/languages/nso.js
deleted file mode 100644 (file)
index 30cf189..0000000
+++ /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/pl.js b/resources/mediawiki.language/languages/pl.js
deleted file mode 100644 (file)
index 03e0d84..0000000
+++ /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/ro.js b/resources/mediawiki.language/languages/ro.js
deleted file mode 100644 (file)
index 42610fe..0000000
+++ /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];
-};
index 42be4f9..cfdbfc3 100644 (file)
@@ -2,26 +2,6 @@
  * 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];
-       }
-};
-
 mediaWiki.language.convertGrammar = function( word, form ) {
        var grammarForms = mw.language.getData( 'ru', 'grammarForms' );
        if ( grammarForms && grammarForms[form] ) {
diff --git a/resources/mediawiki.language/languages/se.js b/resources/mediawiki.language/languages/se.js
deleted file mode 100644 (file)
index e1ae5b9..0000000
+++ /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 (file)
index 719b0c5..0000000
+++ /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 (file)
index 21a22b2..0000000
+++ /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];
-};
index cfb5781..acd00bf 100644 (file)
@@ -2,23 +2,6 @@
  * 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];
-};
-
 mediaWiki.language.convertGrammar = function( word, form ) {
        var grammarForms = mw.language.getData( 'sl', 'grammarForms' );
        if ( grammarForms && grammarForms[form] ) {
diff --git a/resources/mediawiki.language/languages/sma.js b/resources/mediawiki.language/languages/sma.js
deleted file mode 100644 (file)
index 8163c42..0000000
+++ /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 (file)
index af48eb0..0000000
+++ /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 (file)
index fd6ca01..0000000
+++ /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 (file)
index 25cdc8a..0000000
+++ /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 (file)
index 69b6d9b..0000000
+++ /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 (file)
index 29219fd..0000000
+++ /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];
-};
index 372d441..ee110b0 100644 (file)
@@ -2,26 +2,6 @@
  * 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];
-       }
-};
-
 mediaWiki.language.convertGrammar = function( word, form ) {
        var grammarForms = mw.language.getData( 'uk', 'grammarForms' );
        if ( grammarForms && grammarForms[form] ) {
@@ -29,7 +9,7 @@ mediaWiki.language.convertGrammar = function( word, form ) {
        }
        switch ( form ) {
                case 'genitive': // родовий відмінок
-                       if ( (  word.substr( word.length - 4 ) == 'вікі' ) || (  word.substr( word.length - 4 ) == 'Вікі' ) ) {
+                       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 ) + 'я';
@@ -37,7 +17,7 @@ mediaWiki.language.convertGrammar = function( word, form ) {
                                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 )  == 'ти' )
+                       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 ) + 'дов';
@@ -45,7 +25,7 @@ mediaWiki.language.convertGrammar = function( word, form ) {
                                word = word.substr(0, word.length - 3 ) + 'ника';
                        break;
                case 'accusative': // знахідний відмінок
-                       if ( (  word.substr( word.length - 4 ) == 'вікі' ) || (  word.substr( word.length - 4 ) == 'Вікі' ) ) {
+                       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 ) + 'ію';
diff --git a/resources/mediawiki.language/languages/wa.js b/resources/mediawiki.language/languages/wa.js
deleted file mode 100644 (file)
index e177375..0000000
+++ /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];
-};
index 8d2ffae..30307a3 100644 (file)
@@ -33,7 +33,7 @@
                 */
                getData: function ( langCode, dataKey ) {
                        var langData = language.data;
-                       if ( langData[langCode] instanceof mw.Map ) {
+                       if ( langData && langData[langCode] instanceof mw.Map ) {
                                return langData[langCode].get( dataKey );
                        }
                        return undefined;
index 09a11b0..93ece8d 100644 (file)
@@ -16,6 +16,15 @@ var pluralTestcases = {
                [ 0, [ "one", "other" ], "other", "English plural test- 0 is other" ],
                [ 1, [ "one", "other" ], "one", "English plural test- 1 is one" ]
        ],
+       "fa": [
+               [ 0, [ "one", "other" ], "other", "Persian plural test- 0 is other" ],
+               [ 1, [ "one", "other" ], "one", "Persian plural test- 1 is one" ],
+               [ 2, [ "one", "other" ], "other", "Persian plural test- 2 is other" ]
+       ],
+       "fr": [
+               [ 0, [ "one", "other" ], "other", "French plural test- 0 is other" ],
+               [ 1, [ "one", "other" ], "one", "French plural test- 1 is one" ]
+       ],
        "hi": [
                [ 0, [ "one", "other" ], "one", "Hindi plural test- 0 is one" ],
                [ 1, [ "one", "other" ], "one", "Hindi plural test- 1 is one" ],
@@ -27,6 +36,11 @@ var pluralTestcases = {
                [ 2, [ "one", "other" ], "other", "Hebrew plural test- 2 is other with 2 forms" ],
                [ 2, [ "one", "dual", "other" ], "dual", "Hebrew plural test- 2 is dual with 3 forms" ]
        ],
+       "hu": [
+               [ 0, [ "one", "other" ], "other", "Hungarian plural test- 0 is other" ],
+               [ 1, [ "one", "other" ], "one", "Hungarian plural test- 1 is one" ],
+               [ 2, [ "one", "other" ], "other", "Hungarian plural test- 2 is other" ]
+       ],
        "ar": [
                [ 0, [ "zero", "one", "two", "few", "many", "other" ], "zero", "Arabic plural test - 0 is zero" ],
                [ 1, [ "zero", "one", "two", "few", "many", "other" ], "one", "Arabic plural test - 1 is one" ],