From: Anatoly Mironov Date: Thu, 16 Aug 2012 05:39:06 +0000 (+0200) Subject: Support for Chuvash suffix changes in future fromNow X-Git-Tag: 1.7.1~13^2~2^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F398%2Fhead;p=thirdparty%2Fmoment.git Support for Chuvash suffix changes in future fromNow --- diff --git a/lang/cv.js b/lang/cv.js index a0598f47c..a27789cf9 100644 --- a/lang/cv.js +++ b/lang/cv.js @@ -24,7 +24,11 @@ sameElse: 'L' }, relativeTime : { - future : "%sран", + future : function(output) { + var affix = /сехет$/i.exec(output) + ? "рен" : /çул$/i.exec(output) ? "тан" : "ран"; + return output + affix; + }, past : "%s каялла", s : "пĕр-ик çеккунт", m : "пĕр минут", diff --git a/moment.js b/moment.js index 95520c0dd..e89bb7899 100644 --- a/moment.js +++ b/moment.js @@ -1047,10 +1047,16 @@ humanize : function (withSuffix) { var difference = +this, rel = this.lang().relativeTime, - output = relativeTime(difference, !withSuffix, this.lang()); + output = relativeTime(difference, !withSuffix, this.lang()), + fromNow = difference <= 0 ? rel.past : rel.future; if (withSuffix) { - output = (difference <= 0 ? rel.past : rel.future).replace(/%s/i, output); + if (typeof fromNow === 'function') { + output = fromNow(output); + } + else { + output = fromNow.replace(/%s/i, output); + } } return output; diff --git a/test/lang/cv.js b/test/lang/cv.js index c42cdce17..3de0f3354 100644 --- a/test/lang/cv.js +++ b/test/lang/cv.js @@ -174,10 +174,12 @@ exports["lang:cv"] = { }, "fromNow" : function(test) { - test.expect(2); + test.expect(4); moment.lang('cv'); test.equal(moment().add({s:30}).fromNow(), "пĕр-ик çеккунтран", "in a few seconds"); test.equal(moment().add({d:5}).fromNow(), "5 кунран", "in 5 days"); + test.equal(moment().add({h:2}).fromNow(), "2 сехетрен", "in 2 hours, the right suffix!"); + test.equal(moment().add({y:3}).fromNow(), "3 çултан", "in 3 years, the right suffix!"); test.done(); },