html/js/i18n/jquery.i18n.language.js
function ( count, forms ) {
			var pluralRules,
				pluralFormIndex,
				index,
				explicitPluralPattern = new RegExp('\\d+=', 'i'),
				formCount,
				form;

			if ( !forms || forms.length === 0 ) {
				return '';
			}

			// Handle for Explicit 0= & 1= values
			for ( index = 0; index < forms.length; index++ ) {
				form = forms[index];
				if ( explicitPluralPattern.test( form ) ) {
					formCount = parseInt( form.substring( 0, form.indexOf( '=' ) ), 10 );
					if ( formCount === count ) {
						return ( form.substr( form.indexOf( '=' ) + 1 ) );
					}
					forms[index] = undefined;
				}
			}

			forms = $.map( forms, function ( form ) {
				if ( form !== undefined ) {
					return form;
				}
			} );

			pluralRules = this.pluralRules[$.i18n().locale];

			if ( !pluralRules ) {
				// default fallback.
				return ( count === 1 ) ? forms[0] : forms[1];
			}

			pluralFormIndex = this.getPluralForm( count, pluralRules );
			pluralFormIndex = Math.min( pluralFormIndex, forms.length - 1 );

			return forms[pluralFormIndex];
		}
function ( count, forms ) {
			var pluralRules,
				pluralFormIndex,
				index,
				explicitPluralPattern = new RegExp('\\d+=', 'i'),
				formCount,
				form;

			if ( !forms || forms.length === 0 ) {
				return '';
			}

			// Handle for Explicit 0= & 1= values
			for ( index = 0; index < forms.length; index++ ) {
				form = forms[index];
				if ( explicitPluralPattern.test( form ) ) {
					formCount = parseInt( form.substring( 0, form.indexOf( '=' ) ), 10 );
					if ( formCount === count ) {
						return ( form.substr( form.indexOf( '=' ) + 1 ) );
					}
					forms[index] = undefined;
				}
			}

			forms = $.map( forms, function ( form ) {
				if ( form !== undefined ) {
					return form;
				}
			} );

			pluralRules = this.pluralRules[$.i18n().locale];

			if ( !pluralRules ) {
				// default fallback.
				return ( count === 1 ) ? forms[0] : forms[1];
			}

			pluralFormIndex = this.getPluralForm( count, pluralRules );
			pluralFormIndex = Math.min( pluralFormIndex, forms.length - 1 );

			return forms[pluralFormIndex];
		}
function ( count , forms ) { var pluralRules , pluralFormIndex , index , explicitPluralPattern = new RegExp ( '\\d+=' , 'i' ) , formCount , form ; if ( ! forms || forms . length === 0 ) { return '' ; } // Handle for Explicit 0= & 1= values for ( index = 0 ; index < forms . length ; index ++ ) { form = forms [ index ] ; if ( explicitPluralPattern . test ( form ) ) { formCount = parseInt ( form . substring ( 0 , form . indexOf ( '=' ) ) , 10 ) ; if ( formCount === count ) { return ( form . substr ( form . indexOf ( '=' ) + 1 ) ) ; } forms [ index ] = undefined ; } } forms = $ . map ( forms , function ( form ) { if ( form !== undefined ) { return form ; } } ) ; pluralRules = this . pluralRules [ $ . i18n ( ) . locale ] ; if ( ! pluralRules ) { // default fallback. return ( count === 1 ) ? forms [ 0 ] : forms [ 1 ] ; } pluralFormIndex = this . getPluralForm ( count , pluralRules ) ; pluralFormIndex = Math . min ( pluralFormIndex , forms . length - 1 ) ; return forms [ pluralFormIndex ] ; }
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
Plural form transformations needed for some languages .