From 7f85dc2b35b47b1497296035eaa6926269795f1c Mon Sep 17 00:00:00 2001 From: David Zentgraf Date: Thu, 10 Feb 2011 13:33:07 +0900 Subject: [PATCH 1/2] improving l10n functionality by allowing number callback function and adding formatter callback --- jquery.timeago.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/jquery.timeago.js b/jquery.timeago.js index 9fcf4811..f92c1fec 100644 --- a/jquery.timeago.js +++ b/jquery.timeago.js @@ -45,7 +45,8 @@ months: "%d months", year: "about a year", years: "%d years", - numbers: [] + numbers: [], + formatter: null } }, inWords: function(distanceMillis) { @@ -68,7 +69,7 @@ function substitute(stringOrFunction, number) { var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction; - var value = ($l.numbers && $l.numbers[number]) || number; + var value = $.isFunction($l.numbers) ? $l.numbers(number) : ($l.numbers[number] || number); return string.replace(/%d/i, value); } @@ -84,7 +85,7 @@ years < 2 && substitute($l.year, 1) || substitute($l.years, Math.floor(years)); - return $.trim([prefix, words, suffix].join(" ")); + return $.isFunction($l.formatter) ? $l.formatter(prefix, words, suffix) : $.trim([prefix, words, suffix].join(" ")); }, parse: function(iso8601) { var s = $.trim(iso8601); From 39ea9a17802abae647973470d0b44255312d77da Mon Sep 17 00:00:00 2001 From: David Zentgraf Date: Thu, 10 Feb 2011 14:08:47 +0900 Subject: [PATCH 2/2] Fixing oops --- jquery.timeago.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jquery.timeago.js b/jquery.timeago.js index f92c1fec..8789fa40 100644 --- a/jquery.timeago.js +++ b/jquery.timeago.js @@ -69,7 +69,7 @@ function substitute(stringOrFunction, number) { var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction; - var value = $.isFunction($l.numbers) ? $l.numbers(number) : ($l.numbers[number] || number); + var value = $.isFunction($l.numbers) ? $l.numbers(number) : (($l.numbers && $l.numbers[number]) || number); return string.replace(/%d/i, value); }