summaryrefslogtreecommitdiff
path: root/resources/mediawiki.language
diff options
context:
space:
mode:
Diffstat (limited to 'resources/mediawiki.language')
-rw-r--r--resources/mediawiki.language/languages/bs.js19
-rw-r--r--resources/mediawiki.language/languages/dsb.js19
-rw-r--r--resources/mediawiki.language/languages/fi.js47
-rw-r--r--resources/mediawiki.language/languages/ga.js38
-rw-r--r--resources/mediawiki.language/languages/he.js29
-rw-r--r--resources/mediawiki.language/languages/hsb.js19
-rw-r--r--resources/mediawiki.language/languages/hu.js23
-rw-r--r--resources/mediawiki.language/languages/hy.js29
-rw-r--r--resources/mediawiki.language/languages/la.js50
-rw-r--r--resources/mediawiki.language/languages/os.js70
-rw-r--r--resources/mediawiki.language/languages/ru.js53
-rw-r--r--resources/mediawiki.language/languages/sl.js19
-rw-r--r--resources/mediawiki.language/languages/uk.js37
-rw-r--r--resources/mediawiki.language/mediawiki.cldr.js29
-rw-r--r--resources/mediawiki.language/mediawiki.language.init.js61
-rw-r--r--resources/mediawiki.language/mediawiki.language.js148
-rw-r--r--resources/mediawiki.language/mediawiki.language.months.js54
-rw-r--r--resources/mediawiki.language/mediawiki.language.numbers.js243
18 files changed, 0 insertions, 987 deletions
diff --git a/resources/mediawiki.language/languages/bs.js b/resources/mediawiki.language/languages/bs.js
deleted file mode 100644
index 65eb5a6d..00000000
--- a/resources/mediawiki.language/languages/bs.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Bosnian (bosanski) language functions
- */
-
-mediaWiki.language.convertGrammar = function ( word, form ) {
- var grammarForms = mediaWiki.language.getData( 'bs', 'grammarForms' );
- if ( grammarForms && grammarForms[form] ) {
- return grammarForms[form][word];
- }
- 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/dsb.js b/resources/mediawiki.language/languages/dsb.js
deleted file mode 100644
index b2c9c081..00000000
--- a/resources/mediawiki.language/languages/dsb.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Lower Sorbian (Dolnoserbski) language functions
- */
-
-mediaWiki.language.convertGrammar = function ( word, form ) {
- var grammarForms = mediaWiki.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
deleted file mode 100644
index 61c6c104..00000000
--- a/resources/mediawiki.language/languages/fi.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Finnish (Suomi) language functions
- * @author Santhosh Thottingal
- */
-
-mediaWiki.language.convertGrammar = function ( word, form ) {
- var grammarForms, aou, origWord;
-
- grammarForms = mediaWiki.language.getData( 'fi', 'grammarForms' );
- if ( grammarForms && grammarForms[form] ) {
- return grammarForms[form][word];
- }
-
- // vowel harmony flag
- aou = word.match( /[aou][^äöy]*$/i );
- origWord = word;
- if ( word.match( /wiki$/i ) ) {
- aou = false;
- }
- //append i after final consonant
- if ( word.match( /[bcdfghjklmnpqrstvwxz]$/i ) ) {
- word += 'i';
- }
-
- switch ( form ) {
- case 'genitive':
- word += 'n';
- break;
- case 'elative':
- word += ( aou ? 'sta' : 'stä' );
- break;
- case 'partitive':
- word += ( aou ? 'a' : 'ä' );
- break;
- case 'illative':
- // Double the last letter and add 'n'
- word += word.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/ga.js b/resources/mediawiki.language/languages/ga.js
deleted file mode 100644
index c13e8321..00000000
--- a/resources/mediawiki.language/languages/ga.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Irish (Gaeilge) language functions
- */
-
-mediaWiki.language.convertGrammar = function ( word, form ) {
- /*jshint onecase:true */
- var grammarForms = mediaWiki.language.getData( 'ga', 'grammarForms' );
- if ( grammarForms && grammarForms[form] ) {
- return grammarForms[form][word];
- }
- 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 word;
-};
diff --git a/resources/mediawiki.language/languages/he.js b/resources/mediawiki.language/languages/he.js
deleted file mode 100644
index 13d457b2..00000000
--- a/resources/mediawiki.language/languages/he.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Hebrew (עברית) language functions
- */
-
-mediaWiki.language.convertGrammar = function( word, form ) {
- var grammarForms = mediaWiki.language.getData( 'he', 'grammarForms' );
- if ( grammarForms && grammarForms[form] ) {
- return grammarForms[form][word];
- }
- 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 word;
-};
diff --git a/resources/mediawiki.language/languages/hsb.js b/resources/mediawiki.language/languages/hsb.js
deleted file mode 100644
index 77dca75e..00000000
--- a/resources/mediawiki.language/languages/hsb.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Upper Sorbian (Hornjoserbsce) language functions
- */
-
-mediaWiki.language.convertGrammar = function ( word, form ) {
- var grammarForms = mediaWiki.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
deleted file mode 100644
index 23b0c125..00000000
--- a/resources/mediawiki.language/languages/hu.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Hungarian language functions
- * @author Santhosh Thottingal
- */
-
-mediaWiki.language.convertGrammar = function ( word, form ) {
- var grammarForms = mediaWiki.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
deleted file mode 100644
index 65081bdd..00000000
--- a/resources/mediawiki.language/languages/hy.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Armenian (Հայերեն) language functions
- */
-
-mediaWiki.language.convertGrammar = function ( word, form ) {
- /*jshint onecase:true */
- var grammarForms = mediaWiki.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/la.js b/resources/mediawiki.language/languages/la.js
deleted file mode 100644
index 27110241..00000000
--- a/resources/mediawiki.language/languages/la.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Latin (lingua Latina) language functions
- * @author Santhosh Thottingal
- */
-
-mediaWiki.language.convertGrammar = function ( word, form ) {
- var grammarForms = mediaWiki.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/os.js b/resources/mediawiki.language/languages/os.js
deleted file mode 100644
index 682b3903..00000000
--- a/resources/mediawiki.language/languages/os.js
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Ossetian (Ирон) language functions
- * @author Santhosh Thottingal
- */
-
-
-mediaWiki.language.convertGrammar = function ( word, form ) {
- var grammarForms = mediaWiki.language.getData( 'os', 'grammarForms' ),
- // Ending for allative case
- endAllative = 'мæ',
- // Variable for 'j' beetwen vowels
- jot = '',
- // Variable for "-" for not Ossetic words
- hyphen = '',
- // Variable for ending
- ending = '';
-
- if ( grammarForms && grammarForms[form] ) {
- return grammarForms[form][word];
- }
- // Checking if the $word is in plural form
- if ( word.match( /тæ$/i ) ) {
- word = word.substring( 0, word.length - 1 );
- endAllative = 'æм';
- }
- // 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 + endAllative;
- 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/ru.js b/resources/mediawiki.language/languages/ru.js
deleted file mode 100644
index 1bc06326..00000000
--- a/resources/mediawiki.language/languages/ru.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Russian (Русский) language functions
- */
-
-// These tests were originally made for names of Wikimedia
-// websites, so they don't currently cover all the possible
-// cases.
-
-mediaWiki.language.convertGrammar = function ( word, form ) {
- 'use strict';
-
- var grammarForms = mediaWiki.language.getData( 'ru', 'grammarForms' );
- if ( grammarForms && grammarForms[form] ) {
- return grammarForms[form][word];
- }
- switch ( form ) {
- case 'genitive': // родительный падеж
- 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 ) + 'ных';
- } else if ( word.substr( word.length - 3 ) === 'ник' ) {
- word = word.substr(0, word.length - 3 ) + 'ника';
- }
- break;
- case 'prepositional': // предложный падеж
- 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 ) + 'ных';
- } else if ( word.substr( word.length - 3 ) === 'ник' ) {
- word = word.substr(0, word.length - 3 ) + 'нике';
- }
- break;
- }
- return word;
-};
diff --git a/resources/mediawiki.language/languages/sl.js b/resources/mediawiki.language/languages/sl.js
deleted file mode 100644
index fb335b6a..00000000
--- a/resources/mediawiki.language/languages/sl.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Slovenian (Slovenščina) language functions
- */
-
-mediaWiki.language.convertGrammar = function ( word, form ) {
- var grammarForms = mediaWiki.language.getData( 'sl', 'grammarForms' );
- if ( grammarForms && grammarForms[form] ) {
- return grammarForms[form][word];
- }
- switch ( form ) {
- case 'mestnik': // locative
- word = 'o ' + word;
- break;
- case 'orodnik': // instrumental
- word = 'z ' + word;
- break;
- }
- return word;
-};
diff --git a/resources/mediawiki.language/languages/uk.js b/resources/mediawiki.language/languages/uk.js
deleted file mode 100644
index 5e56b66f..00000000
--- a/resources/mediawiki.language/languages/uk.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Ukrainian (Українська) language functions
- */
-
-mediaWiki.language.convertGrammar = function ( word, form ) {
- /*jshint noempty:false */
- var grammarForms = mediaWiki.language.getData( 'uk', 'grammarForms' );
- if ( grammarForms && grammarForms[form] ) {
- return grammarForms[form][word];
- }
- 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/mediawiki.cldr.js b/resources/mediawiki.language/mediawiki.cldr.js
deleted file mode 100644
index c3023cd5..00000000
--- a/resources/mediawiki.language/mediawiki.cldr.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * CLDR related utility methods.
- */
-( function ( mw ) {
- 'use strict';
-
- var cldr = {
- /**
- * For the number, get the plural for index
- * In case none of the rules passed, we return pluralRules.length
- * That means it is the "other" form.
- * @param number
- * @param {Array} pluralRules
- * @return {number} plural form index
- */
- getPluralForm: function ( number, pluralRules ) {
- var i;
- for ( i = 0; i < pluralRules.length; i++ ) {
- if ( mw.libs.pluralRuleParser( pluralRules[i], number ) ) {
- break;
- }
- }
- return i;
- }
- };
-
- mw.cldr = cldr;
-
-}( mediaWiki ) );
diff --git a/resources/mediawiki.language/mediawiki.language.init.js b/resources/mediawiki.language/mediawiki.language.init.js
deleted file mode 100644
index 937b89bb..00000000
--- a/resources/mediawiki.language/mediawiki.language.init.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Base language object with methods for storing and getting
- * language data.
- */
-( function ( mw ) {
-
- var language = {
- /**
- * @var data {Object} Language related data (keyed by language,
- * contains instances of mw.Map).
- * @example Set data
- * <code>
- * // Override, extend or create the language data object of 'nl'
- * mw.language.setData( 'nl', 'myKey', 'My value' );
- *
- * // Set multiple values at once
- * mw.language.setData( 'nl', { 'foo': 'X', 'bar': 'Y' } );
- * </code>
- * @example Get GrammarForms data for language 'nl':
- * <code>
- * var grammarForms = mw.language.getData( 'nl', 'grammarForms' );
- * </code>
- */
- data: {},
-
- /**
- * Convenience method for retreiving language data by language code and data key,
- * covering for the potential inexistance of a data object for this langiage.
- * @param langCode {String}
- * @param dataKey {String}
- * @return {mixed} Value stored in the mw.Map (or undefined if there is no map for
- the specified langCode).
- */
- getData: function ( langCode, dataKey ) {
- var langData = language.data;
- if ( langData && langData[langCode] instanceof mw.Map ) {
- return langData[langCode].get( dataKey );
- }
- return undefined;
- },
-
- /**
- * Convenience method for setting language data by language code and data key.
- * Creates the data mw.Map if there isn't one for the specified language already.
- *
- * @param langCode {String}
- * @param dataKey {String|Object} Key or object of key/values.
- * @param value {mixed} Value for dataKey, ignored if dataKey is an object.
- */
- setData: function ( langCode, dataKey, value ) {
- var langData = language.data;
- if ( !( langData[langCode] instanceof mw.Map ) ) {
- langData[langCode] = new mw.Map();
- }
- langData[langCode].set( dataKey, value );
- }
- };
-
- mw.language = language;
-
-}( mediaWiki ) );
diff --git a/resources/mediawiki.language/mediawiki.language.js b/resources/mediawiki.language/mediawiki.language.js
deleted file mode 100644
index 631d13df..00000000
--- a/resources/mediawiki.language/mediawiki.language.js
+++ /dev/null
@@ -1,148 +0,0 @@
-/**
- * Localized Language support attempts to mirror some of the functionality of
- * Language.php in MediaWiki.
- * This adds methods for transforming message text.
- */
-( function ( mw, $ ) {
-
-var 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, 10 ), 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 ) {
- var pluralRules,
- formCount,
- form,
- index,
- equalsPosition,
- pluralFormIndex = 0;
-
- if ( !forms || forms.length === 0 ) {
- return '';
- }
-
- // Handle for explicit n= forms
- for ( index = 0; index < forms.length; index++ ) {
- form = forms[index];
- if ( /^\d+=/.test( form ) ) {
- equalsPosition = form.indexOf( '=' );
- formCount = parseInt( form.substring( 0, equalsPosition ), 10 );
- if ( formCount === count ) {
- return form.substr( equalsPosition + 1 );
- }
- forms[index] = undefined;
- }
- }
-
- // Remove explicit plural forms from the forms.
- forms = $.map( forms, function ( form ) {
- return form;
- } );
-
- pluralRules = mw.language.getData( mw.config.get( 'wgUserLanguage' ), 'pluralRules' );
- if ( !pluralRules ) {
- // default fallback.
- return ( count === 1 ) ? forms[0] : forms[1];
- }
- pluralFormIndex = mw.cldr.getPluralForm( count, pluralRules );
- pluralFormIndex = Math.min( pluralFormIndex, forms.length - 1 );
- return forms[pluralFormIndex];
- },
-
- /**
- * 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;
- },
-
- /**
- * Provides an alternative text depending on specified gender.
- * Usage {{gender:[gender|user object]|masculine|feminine|neutral}}.
- * If second or third parameter are not specified, masculine is used.
- *
- * These details may be overriden per language.
- *
- * @param gender string male, female, or anything else for neutral.
- * @param forms array List of gender forms
- *
- * @return string
- */
- gender: function ( gender, forms ) {
- if ( !forms || forms.length === 0 ) {
- return '';
- }
- forms = mw.language.preConvertPlural( forms, 2 );
- if ( gender === 'male' ) {
- return forms[0];
- }
- if ( gender === 'female' ) {
- return forms[1];
- }
- return ( forms.length === 3 ) ? forms[2] : forms[0];
- },
-
- /**
- * Grammatical transformations, needed for inflected languages.
- * Invoked by putting {{grammar:form|word}} in a message.
- * The rules can be defined in $wgGrammarForms global or grammar
- * forms can be computed dynamically by overriding this method per language
- *
- * @param word {String}
- * @param form {String}
- * @return {String}
- */
- convertGrammar: function ( word, form ) {
- var grammarForms = mw.language.getData( mw.config.get( 'wgUserLanguage' ), 'grammarForms' );
- if ( grammarForms && grammarForms[form] ) {
- return grammarForms[form][word] || word;
- }
- return word;
- }
-
-};
-
-$.extend( mw.language, language );
-
-}( mediaWiki, jQuery ) );
diff --git a/resources/mediawiki.language/mediawiki.language.months.js b/resources/mediawiki.language/mediawiki.language.months.js
deleted file mode 100644
index 3d4b7ee7..00000000
--- a/resources/mediawiki.language/mediawiki.language.months.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Transfer of month names from messages into mw.language.
- *
- * Loading this module also ensures the availability of appropriate messages via mw.msg.
- */
-( function ( mw, $ ) {
- var
- monthMessages = [
- 'january', 'february', 'march', 'april',
- 'may_long', 'june', 'july', 'august',
- 'september', 'october', 'november', 'december'
- ],
- monthGenMessages = [
- 'january-gen', 'february-gen', 'march-gen', 'april-gen',
- 'may-gen', 'june-gen', 'july-gen', 'august-gen',
- 'september-gen', 'october-gen', 'november-gen', 'december-gen'
- ],
- monthAbbrevMessages = [
- 'jan', 'feb', 'mar', 'apr',
- 'may', 'jun', 'jul', 'aug',
- 'sep', 'oct', 'nov', 'dec'
- ];
-
- // Function suitable for passing to jQuery.map
- // Can't use mw.msg directly because jQuery.map passes element index as second argument
- function mwMsgMapper( key ) {
- return mw.msg( key );
- }
-
- /**
- * Information about month names in current UI language.
- *
- * Object keys:
- * - `names`: array of month names (in nominative case in languages which have the distinction),
- * zero-indexed
- * - `genitive`: array of month names in genitive case, zero-indexed
- * - `abbrev`: array of three-letter-long abbreviated month names, zero-indexed
- * - `keys`: object with three keys like the above, containing zero-indexed arrays of message keys
- * for appropriate messages which can be passed to mw.msg.
- *
- * @property
- */
- mw.language.months = {
- keys: {
- names: monthMessages,
- genitive: monthGenMessages,
- abbrev: monthAbbrevMessages
- },
- names: $.map( monthMessages, mwMsgMapper ),
- genitive: $.map( monthGenMessages, mwMsgMapper ),
- abbrev: $.map( monthAbbrevMessages, mwMsgMapper )
- };
-
-}( mediaWiki, jQuery ) );
diff --git a/resources/mediawiki.language/mediawiki.language.numbers.js b/resources/mediawiki.language/mediawiki.language.numbers.js
deleted file mode 100644
index fada6ce1..00000000
--- a/resources/mediawiki.language/mediawiki.language.numbers.js
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * Number related utilities for mediawiki.language
- */
-( function ( mw, $ ) {
-
- /**
- * Pad a string to guarantee that it is at least `size` length by
- * filling with the character `ch` at either the start or end of the
- * string. Pads at the start, by default.
- * example:
- * Fill the string to length 10 with '+' characters on the right. Yields 'blah++++++'.
- * pad('blah', 10, '+', true);
- *
- * @param {string} text The string to pad
- * @param {Number} size To provide padding
- * @param {string} ch Character to pad, defaults to '0'
- * @param {Boolean} end Adds padding at the end if true, otherwise pads at start
- * @return {string}
- */
- function pad ( text, size, ch, end ) {
- if ( !ch ) {
- ch = '0';
- }
-
- var out = String( text ),
- padStr = replicate( ch, Math.ceil( ( size - out.length ) / ch.length ) );
-
- return end ? out + padStr : padStr + out;
- }
-
- /**
- * Efficiently replicate a string n times.
- *
- * @param {string} str The string to replicate
- * @param {Number} num Number of times to replicate the string
- * @return {string}
- */
- function replicate ( str, num ) {
- if ( num <= 0 || !str ) {
- return '';
- }
-
- var buf = [];
- while (num) {
- buf.push( str );
- str += str;
- }
- return buf.join( '' );
- }
-
- /**
- * Apply numeric pattern to absolute value using options. Gives no
- * consideration to local customs.
- *
- * Adapted from dojo/number library with thanks
- * http://dojotoolkit.org/reference-guide/1.8/dojo/number.html
- *
- * @param {Number} value the number to be formatted, ignores sign
- * @param {string} pattern the number portion of a pattern (e.g. `#,##0.00`)
- * @param {string} options.decimalThe decimal separator
- * @param {string} options.group The group separator
- *
- * @return {string}
- */
- function commafyNumber( value, pattern, options ) {
- options = options || {
- group: ',',
- decimal: '.'
- };
-
- if ( isNaN( value) ) {
- return value;
- }
-
- var padLength,
- patternDigits,
- index,
- whole,
- off,
- remainder,
- patternParts = pattern.split( '.' ),
- maxPlaces = ( patternParts[1] || [] ).length,
- valueParts = String( Math.abs( value ) ).split( '.' ),
- fractional = valueParts[1] || '',
- groupSize = 0,
- groupSize2 = 0,
- pieces = [];
-
- if ( patternParts[1] ) {
- // Pad fractional with trailing zeros
- padLength = ( patternParts[1] && patternParts[1].lastIndexOf( '0' ) + 1 );
-
- if ( padLength > fractional.length ) {
- valueParts[1] = pad( fractional, padLength, '0', true );
- }
-
- // Truncate fractional
- if ( maxPlaces < fractional.length ) {
- valueParts[1] = fractional.substr( 0, maxPlaces );
- }
- } else {
- if ( valueParts[1] ) {
- valueParts.pop();
- }
- }
-
- // Pad whole with leading zeros
- patternDigits = patternParts[0].replace( ',', '' );
-
- padLength = patternDigits.indexOf( '0' );
-
- if ( padLength !== -1 ) {
- padLength = patternDigits.length - padLength;
-
- if ( padLength > valueParts[0].length ) {
- valueParts[0] = pad( valueParts[0], padLength );
- }
-
- // Truncate whole
- if ( patternDigits.indexOf( '#' ) === -1 ) {
- valueParts[0] = valueParts[0].substr( valueParts[0].length - padLength );
- }
- }
-
- // Add group separators
- index = patternParts[0].lastIndexOf( ',' );
-
- if ( index !== -1 ) {
- groupSize = patternParts[0].length - index - 1;
- remainder = patternParts[0].substr( 0, index );
- index = remainder.lastIndexOf( ',' );
- if ( index !== -1 ) {
- groupSize2 = remainder.length - index - 1;
- }
- }
-
- for ( whole = valueParts[0]; whole; ) {
- off = whole.length - groupSize;
-
- pieces.push( ( off > 0 ) ? whole.substr( off ) : whole );
- whole = ( off > 0 ) ? whole.slice( 0, off ) : '';
-
- if ( groupSize2 ) {
- groupSize = groupSize2;
- }
- }
- valueParts[0] = pieces.reverse().join( options.group );
-
- return valueParts.join( options.decimal );
- }
-
- $.extend( mw.language, {
-
- /**
- * Converts a number using digitTransformTable.
- *
- * @param {Number} num Value to be converted
- * @param {boolean} integer Convert the return value to an integer
- * @return {Number|string} Formatted number
- */
- convertNumber: function ( num, integer ) {
- var i, tmp, transformTable, numberString, convertedNumber, pattern;
-
- pattern = mw.language.getData( mw.config.get( 'wgUserLanguage' ),
- 'digitGroupingPattern' ) || '#,##0.###';
-
- // Set the target transform table:
- transformTable = mw.language.getDigitTransformTable();
-
- if ( !transformTable ) {
- return num;
- }
-
- // Check if the 'restore' to Latin number flag is set:
- if ( integer ) {
- if ( parseInt( num, 10 ) === num ) {
- return num;
- }
- tmp = [];
- for ( i in transformTable ) {
- tmp[ transformTable[ i ] ] = i;
- }
- transformTable = tmp;
- numberString = num + '';
- } else {
- numberString = mw.language.commafy( num, pattern );
- }
-
- convertedNumber = '';
- for ( i = 0; i < numberString.length; i++ ) {
- if ( transformTable[ numberString[i] ] ) {
- convertedNumber += transformTable[numberString[i]];
- } else {
- convertedNumber += numberString[i];
- }
- }
- return integer ? parseInt( convertedNumber, 10 ) : convertedNumber;
- },
-
- getDigitTransformTable: function () {
- return mw.language.getData( mw.config.get( 'wgUserLanguage' ),
- 'digitTransformTable' ) || [];
- },
-
- getSeparatorTransformTable: function () {
- return mw.language.getData( mw.config.get( 'wgUserLanguage' ),
- 'separatorTransformTable' ) || [];
- },
-
- /**
- * Apply pattern to format value as a string using as per
- * unicode.org TR35 - http://www.unicode.org/reports/tr35/#Number_Format_Patterns.
- *
- * @param {Number} value
- * @param {string} pattern Pattern string as described by Unicode TR35
- * @throws Error
- * @returns {String}
- */
- commafy: function ( value, pattern ) {
- var numberPattern,
- transformTable = mw.language.getSeparatorTransformTable(),
- group = transformTable[','] || ',',
- numberPatternRE = /[#0,]*[#0](?:\.0*#*)?/, // not precise, but good enough
- decimal = transformTable['.'] || '.',
- patternList = pattern.split( ';' ),
- positivePattern = patternList[0];
-
- pattern = patternList[ ( value < 0 ) ? 1 : 0] || ( '-' + positivePattern );
- numberPattern = positivePattern.match( numberPatternRE );
-
- if ( !numberPattern ) {
- throw new Error( 'unable to find a number expression in pattern: ' + pattern );
- }
-
- return pattern.replace( numberPatternRE, commafyNumber( value, numberPattern[0], {
- decimal: decimal,
- group: group
- } ) );
- }
-
- } );
-
-}( mediaWiki, jQuery ) );