--- /dev/null
+/**
+ * Amharic (አማርኛ) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ forms = mediaWiki.language.preConvertPlural( forms, 2 );
+ return ( count <= 1 ) ? forms[0] : forms[1];
+};
--- /dev/null
+/**
+ * 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];
+};
--- /dev/null
+/**
+ * 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];
+ }
+};
--- /dev/null
+/**
+ * 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];
+ }
+};
--- /dev/null
+/**
+ * Bihari (भोजपुरी) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ forms = mediaWiki.language.preConvertPlural( forms, 2 );
+ return ( count <= 1 ) ? forms[0] : forms[1];
+};
* 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] ) {
--- /dev/null
+/**
+ * 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];
+ }
+};
--- /dev/null
+/**
+ * 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];
+ }
+};
--- /dev/null
+/**
+ * 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];
+};
* 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] ) {
--- /dev/null
+/**
+ * French (Français) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ forms = mediaWiki.language.preConvertPlural( forms, 2 );
+ return ( count <= 1 ) ? forms[0] : forms[1];
+};
* 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] ) {
--- /dev/null
+/**
+ * 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];
+};
--- /dev/null
+/**
+ * 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];
+ }
+};
--- /dev/null
+/**
+ * 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];
+ }
+};
* 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] ) {
* 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] ) {
--- /dev/null
+/**
+ * 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];
+};
--- /dev/null
+/**
+ * Lingala (Lingála) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ forms = mediaWiki.language.preConvertPlural( forms, 2 );
+ return ( count <= 1 ) ? forms[0] : forms[1];
+};
--- /dev/null
+/**
+ * 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];
+};
--- /dev/null
+/**
+ * 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];
+};
--- /dev/null
+/**
+ * Malagasy (Malagasy) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ forms = mediaWiki.language.preConvertPlural( forms, 2 );
+ return ( count <= 1 ) ? forms[0] : forms[1];
+};
--- /dev/null
+/**
+ * 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];
+};
--- /dev/null
+/**
+ * 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];
+};
--- /dev/null
+/**
+ * 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];
+};
--- /dev/null
+/**
+ * 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];
+};
--- /dev/null
+/**
+ * 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];
+ }
+};
--- /dev/null
+/**
+ * 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];
+};
* 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] ) {
--- /dev/null
+/**
+ * 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];
+};
--- /dev/null
+/**
+ * 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];
+ }
+};
--- /dev/null
+/**
+ * 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];
+};
* 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] ) {
--- /dev/null
+/**
+ * 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];
+};
--- /dev/null
+/**
+ * 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];
+ }
+};
--- /dev/null
+/**
+ * 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];
+ }
+};
--- /dev/null
+/**
+ * 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];
+ }
+};
--- /dev/null
+/**
+ * Tigrinya (ትግርኛ) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ forms = mediaWiki.language.preConvertPlural(forms, 2);
+ return (count <= 1) ? forms[0] : forms[1];
+};
--- /dev/null
+/**
+ * Tagalog (Tagalog) language functions
+ */
+mediaWiki.language.convertPlural = function( count, forms ) {
+ forms = mediaWiki.language.preConvertPlural( forms, 2 );
+ return ( count <= 1 ) ? forms[0] : forms[1];
+};
* 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] ) {
}
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 ) + 'я';
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 ) + 'дов';
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 ) + 'ію';
--- /dev/null
+/**
+ * Walloon (Walon) language functions
+ */
+
+mediaWiki.language.convertPlural = function( count, forms ) {
+ forms = mediaWiki.language.preConvertPlural( forms, 2 );
+ return ( count <= 1 ) ? forms[0] : forms[1];
+};
*/
getData: function ( langCode, dataKey ) {
var langData = language.data;
- if ( langData && langData[langCode] instanceof mw.Map ) {
+ if ( langData[langCode] instanceof mw.Map ) {
return langData[langCode].get( dataKey );
}
return undefined;
[ 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" ],
[ 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" ],