function(sScale, iDiff, bFuture, sStyle) {
			var sPattern, oTypes, sKey, sPluralCategory;

			if (typeof bFuture === "string") {
				sStyle = bFuture;
				bFuture = undefined;
			}

			if (bFuture === undefined) {
				bFuture = iDiff > 0;
			}

			if (sStyle === undefined) {
				sStyle = "wide";
			}

			assert(sStyle === "wide" || sStyle === "short" || sStyle === "narrow", "sStyle is only allowed to be set with 'wide', 'short' or 'narrow'");

			sKey = sScale + "-" + sStyle;

			if (iDiff === 0 || iDiff === -2 || iDiff === 2) {
				sPattern = this._get("dateFields", sKey, "relative-type-" + iDiff);
			}

			if (!sPattern) {
				oTypes = this._get("dateFields", sKey, "relativeTime-type-" + (bFuture ? "future" : "past"));
				sPluralCategory = this.getPluralCategory(Math.abs(iDiff).toString());
				sPattern = oTypes["relativeTimePattern-count-" + sPluralCategory];
			}

			return sPattern;
		}
function(sScale, iDiff, bFuture, sStyle) {
			var sPattern, oTypes, sKey, sPluralCategory;

			if (typeof bFuture === "string") {
				sStyle = bFuture;
				bFuture = undefined;
			}

			if (bFuture === undefined) {
				bFuture = iDiff > 0;
			}

			if (sStyle === undefined) {
				sStyle = "wide";
			}

			assert(sStyle === "wide" || sStyle === "short" || sStyle === "narrow", "sStyle is only allowed to be set with 'wide', 'short' or 'narrow'");

			sKey = sScale + "-" + sStyle;

			if (iDiff === 0 || iDiff === -2 || iDiff === 2) {
				sPattern = this._get("dateFields", sKey, "relative-type-" + iDiff);
			}

			if (!sPattern) {
				oTypes = this._get("dateFields", sKey, "relativeTime-type-" + (bFuture ? "future" : "past"));
				sPluralCategory = this.getPluralCategory(Math.abs(iDiff).toString());
				sPattern = oTypes["relativeTimePattern-count-" + sPluralCategory];
			}

			return sPattern;
		}
function ( sScale , iDiff , bFuture , sStyle ) { var sPattern , oTypes , sKey , sPluralCategory ; if ( typeof bFuture === "string" ) { sStyle = bFuture ; bFuture = undefined ; } if ( bFuture === undefined ) { bFuture = iDiff > 0 ; } if ( sStyle === undefined ) { sStyle = "wide" ; } assert ( sStyle === "wide" || sStyle === "short" || sStyle === "narrow" , "sStyle is only allowed to be set with 'wide', 'short' or 'narrow'" ) ; sKey = sScale + "-" + sStyle ; if ( iDiff === 0 || iDiff === - 2 || iDiff === 2 ) { sPattern = this . _get ( "dateFields" , sKey , "relative-type-" + iDiff ) ; } if ( ! sPattern ) { oTypes = this . _get ( "dateFields" , sKey , "relativeTime-type-" + ( bFuture ? "future" : "past" ) ) ; sPluralCategory = this . getPluralCategory ( Math . abs ( iDiff ) . toString ( ) ) ; sPattern = oTypes [ "relativeTimePattern-count-" + sPluralCategory ] ; } return sPattern ; }
Returns the relative format pattern with given scale (year, month, week, ...) and difference value.

@param {string} sScale the scale the relative pattern is needed for
@param {int} iDiff the difference in the given scale unit
@param {boolean} [bFuture] whether a future or past pattern should be used
@param {string} [sStyle="wide"] @since 1.32.10, 1.34.4 the style of the pattern. The valid values are "wide", "short" and "narrow"
@returns {string} the relative format pattern
@public
@since 1.34
Returns the relative format pattern with given scale ( year month week ... ) and difference value .
Returns the pattern for the given relative time type