From 63601400e476c6cf43d985f3e7b9864681695ed4 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Fri, 18 Jan 2013 16:46:04 +0100 Subject: 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 --- resources/mediawiki.language/languages/am.js | 8 --- resources/mediawiki.language/languages/ar.js | 38 ------------ resources/mediawiki.language/languages/bat-smg.js | 18 ------ .../mediawiki.language/languages/be-tarask.js | 23 -------- resources/mediawiki.language/languages/be.js | 20 ------- resources/mediawiki.language/languages/bh.js | 8 --- resources/mediawiki.language/languages/bs.js | 25 ++++---- resources/mediawiki.language/languages/cs.js | 17 ------ resources/mediawiki.language/languages/cu.js | 18 ------ resources/mediawiki.language/languages/cy.js | 15 ----- resources/mediawiki.language/languages/dsb.js | 25 ++++---- resources/mediawiki.language/languages/fi.js | 44 ++++++++++++++ resources/mediawiki.language/languages/fr.js | 8 --- resources/mediawiki.language/languages/ga.js | 37 +++++++++--- resources/mediawiki.language/languages/gd.js | 18 ------ resources/mediawiki.language/languages/gv.js | 18 ------ resources/mediawiki.language/languages/he.js | 29 ++++++--- resources/mediawiki.language/languages/hi.js | 8 --- resources/mediawiki.language/languages/hr.js | 20 ------- resources/mediawiki.language/languages/hsb.js | 25 ++++---- resources/mediawiki.language/languages/hu.js | 23 ++++++++ resources/mediawiki.language/languages/hy.js | 25 +++++++- resources/mediawiki.language/languages/ksh.js | 14 ----- resources/mediawiki.language/languages/la.js | 50 ++++++++++++++++ resources/mediawiki.language/languages/ln.js | 8 --- resources/mediawiki.language/languages/lt.js | 18 ------ resources/mediawiki.language/languages/lv.js | 8 --- resources/mediawiki.language/languages/mg.js | 8 --- resources/mediawiki.language/languages/mk.js | 8 --- resources/mediawiki.language/languages/mo.js | 14 ----- resources/mediawiki.language/languages/mt.js | 17 ------ resources/mediawiki.language/languages/nl.js | 8 --- resources/mediawiki.language/languages/nso.js | 8 --- resources/mediawiki.language/languages/os.js | 69 ++++++++++++++++++++++ resources/mediawiki.language/languages/pl.js | 21 ------- resources/mediawiki.language/languages/pt-br.js | 8 --- resources/mediawiki.language/languages/pt.js | 8 --- resources/mediawiki.language/languages/ro.js | 14 ----- resources/mediawiki.language/languages/ru.js | 38 +++++++----- resources/mediawiki.language/languages/se.js | 17 ------ resources/mediawiki.language/languages/sh.js | 23 -------- resources/mediawiki.language/languages/sk.js | 14 ----- resources/mediawiki.language/languages/sl.js | 25 ++++---- resources/mediawiki.language/languages/sma.js | 17 ------ resources/mediawiki.language/languages/sr-ec.js | 20 ------- resources/mediawiki.language/languages/sr-el.js | 20 ------- resources/mediawiki.language/languages/sr.js | 23 -------- resources/mediawiki.language/languages/ti.js | 8 --- resources/mediawiki.language/languages/tl.js | 7 --- resources/mediawiki.language/languages/uk.js | 44 +++++++++----- resources/mediawiki.language/languages/wa.js | 8 --- 51 files changed, 360 insertions(+), 655 deletions(-) delete mode 100644 resources/mediawiki.language/languages/am.js delete mode 100644 resources/mediawiki.language/languages/ar.js delete mode 100644 resources/mediawiki.language/languages/bat-smg.js delete mode 100644 resources/mediawiki.language/languages/be-tarask.js delete mode 100644 resources/mediawiki.language/languages/be.js delete mode 100644 resources/mediawiki.language/languages/bh.js delete mode 100644 resources/mediawiki.language/languages/cs.js delete mode 100644 resources/mediawiki.language/languages/cu.js delete mode 100644 resources/mediawiki.language/languages/cy.js create mode 100644 resources/mediawiki.language/languages/fi.js delete mode 100644 resources/mediawiki.language/languages/fr.js delete mode 100644 resources/mediawiki.language/languages/gd.js delete mode 100644 resources/mediawiki.language/languages/gv.js delete mode 100644 resources/mediawiki.language/languages/hi.js delete mode 100644 resources/mediawiki.language/languages/hr.js create mode 100644 resources/mediawiki.language/languages/hu.js delete mode 100644 resources/mediawiki.language/languages/ksh.js create mode 100644 resources/mediawiki.language/languages/la.js delete mode 100644 resources/mediawiki.language/languages/ln.js delete mode 100644 resources/mediawiki.language/languages/lt.js delete mode 100644 resources/mediawiki.language/languages/lv.js delete mode 100644 resources/mediawiki.language/languages/mg.js delete mode 100644 resources/mediawiki.language/languages/mk.js delete mode 100644 resources/mediawiki.language/languages/mo.js delete mode 100644 resources/mediawiki.language/languages/mt.js delete mode 100644 resources/mediawiki.language/languages/nl.js delete mode 100644 resources/mediawiki.language/languages/nso.js create mode 100644 resources/mediawiki.language/languages/os.js delete mode 100644 resources/mediawiki.language/languages/pl.js delete mode 100644 resources/mediawiki.language/languages/pt-br.js delete mode 100644 resources/mediawiki.language/languages/pt.js delete mode 100644 resources/mediawiki.language/languages/ro.js delete mode 100644 resources/mediawiki.language/languages/se.js delete mode 100644 resources/mediawiki.language/languages/sh.js delete mode 100644 resources/mediawiki.language/languages/sk.js delete mode 100644 resources/mediawiki.language/languages/sma.js delete mode 100644 resources/mediawiki.language/languages/sr-ec.js delete mode 100644 resources/mediawiki.language/languages/sr-el.js delete mode 100644 resources/mediawiki.language/languages/sr.js delete mode 100644 resources/mediawiki.language/languages/ti.js delete mode 100644 resources/mediawiki.language/languages/tl.js delete mode 100644 resources/mediawiki.language/languages/wa.js (limited to 'resources/mediawiki.language/languages') 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': '٠', // ٠ - '1': '١', // ١ - '2': '٢', // ٢ - '3': '٣', // ٣ - '4': '٤', // ٤ - '5': '٥', // ٥ - '6': '٦', // ٦ - '7': '٧', // ٧ - '8': '٨', // ٨ - '9': '٩', // ٩ - '.': '٫', // ٫ wrong table ? - ',': '٬' // ٬ -}; 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]; -}; -- cgit v1.2.2