diff options
Diffstat (limited to 'resources/mediawiki.language/mediawiki.language.js')
-rw-r--r-- | resources/mediawiki.language/mediawiki.language.js | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/resources/mediawiki.language/mediawiki.language.js b/resources/mediawiki.language/mediawiki.language.js index fa7aa8d5..4abfa4ba 100644 --- a/resources/mediawiki.language/mediawiki.language.js +++ b/resources/mediawiki.language/mediawiki.language.js @@ -22,7 +22,7 @@ mw.language = { 'procPLURAL': function( template ) { if ( template.title && template.parameters && mw.language.convertPlural ) { // Check if we have forms to replace - if ( template.parameters.length == 0 ) { + if ( template.parameters.length === 0 ) { return ''; } // Restore the count into a Number ( if it got converted earlier ) @@ -44,7 +44,7 @@ mw.language = { * @return string Correct form for quantifier in this language */ 'convertPlural': function( count, forms ){ - if ( !forms || forms.length == 0 ) { + if ( !forms || forms.length === 0 ) { return ''; } return ( parseInt( count, 10 ) == 1 ) ? forms[0] : forms[1]; @@ -96,6 +96,32 @@ mw.language = { } return integer ? parseInt( convertedNumber, 10 ) : convertedNumber; }, + /** + * 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]; + }, + // Digit Transform Table, populated by language classes where applicable 'digitTransformTable': null }; |