# HG changeset patch # User bsw # Date 1352051189 -3600 # Node ID 4b1f1a95c37b10056f31ed4c022a928d39c06181 # Parent 6ef34f6a128ee1e53d4d4519ff8a13573d8907e3 Added interval formatter diff -r 6ef34f6a128e -r 4b1f1a95c37b env/format/interval_text.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/env/format/interval_text.lua Sun Nov 04 18:46:29 2012 +0100 @@ -0,0 +1,45 @@ +function format.interval_text(value, options) + + local options = options or {} + + value = value:gsub("%..*", "") + :gsub("days", "{DAYS}") + :gsub("day", "{DAY}") + :gsub("mons", "{MONS}") + :gsub("mon", "{MON}") + :gsub("yeas", "{YEARS}") + :gsub("year", "{YEAR}") + + if (options.mode == "time_left") then + + local interval_text = value + :gsub("{DAYS}", _"days [interval time left]") + :gsub("{DAY}", _"day [interval time left]") + :gsub("{MONS}", _"months [interval time left]") + :gsub("{MON}", _"month [interval time left]") + :gsub("{YEARS}", _"years [interval time left]") + :gsub("{YEAR}", _"year [interval time left]") + return _("#{interval_text} left", { interval_text = interval_text }) + + elseif (options.mode == "ago") then + local interval_text = value:gsub("years", _"years [interval ago]") + :gsub("{DAYS}", _"days [interval ago]") + :gsub("{DAY}", _"day [interval ago]") + :gsub("{MONS}", _"months [interval ago]") + :gsub("{MON}", _"month [interval ago]") + :gsub("{YEARS}", _"years [interval ago]") + :gsub("{YEAR}", _"year [interval ago]") + return _("#{interval_text} ago", { interval_text = interval_text }) + + else + local interval_text = value:gsub("years", _"years [interval]") + :gsub("{DAYS}", _"days [interval]") + :gsub("{DAY}", _"day [interval]") + :gsub("{MONS}", _"months [interval]") + :gsub("{MON}", _"month [interval]") + :gsub("{YEARS}", _"years [interval]") + :gsub("{YEAR}", _"year [interval]") + return _("#{interval_text} [interval]", { interval_text = interval_text }) + + end +end \ No newline at end of file