liquid_feedback_frontend
diff env/format/interval_text.lua @ 932:4b1f1a95c37b
Added interval formatter
author | bsw |
---|---|
date | Sun Nov 04 18:46:29 2012 +0100 (2012-11-04) |
parents | |
children | 701a5cf6b067 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/env/format/interval_text.lua Sun Nov 04 18:46:29 2012 +0100 1.3 @@ -0,0 +1,45 @@ 1.4 +function format.interval_text(value, options) 1.5 + 1.6 + local options = options or {} 1.7 + 1.8 + value = value:gsub("%..*", "") 1.9 + :gsub("days", "{DAYS}") 1.10 + :gsub("day", "{DAY}") 1.11 + :gsub("mons", "{MONS}") 1.12 + :gsub("mon", "{MON}") 1.13 + :gsub("yeas", "{YEARS}") 1.14 + :gsub("year", "{YEAR}") 1.15 + 1.16 + if (options.mode == "time_left") then 1.17 + 1.18 + local interval_text = value 1.19 + :gsub("{DAYS}", _"days [interval time left]") 1.20 + :gsub("{DAY}", _"day [interval time left]") 1.21 + :gsub("{MONS}", _"months [interval time left]") 1.22 + :gsub("{MON}", _"month [interval time left]") 1.23 + :gsub("{YEARS}", _"years [interval time left]") 1.24 + :gsub("{YEAR}", _"year [interval time left]") 1.25 + return _("#{interval_text} left", { interval_text = interval_text }) 1.26 + 1.27 + elseif (options.mode == "ago") then 1.28 + local interval_text = value:gsub("years", _"years [interval ago]") 1.29 + :gsub("{DAYS}", _"days [interval ago]") 1.30 + :gsub("{DAY}", _"day [interval ago]") 1.31 + :gsub("{MONS}", _"months [interval ago]") 1.32 + :gsub("{MON}", _"month [interval ago]") 1.33 + :gsub("{YEARS}", _"years [interval ago]") 1.34 + :gsub("{YEAR}", _"year [interval ago]") 1.35 + return _("#{interval_text} ago", { interval_text = interval_text }) 1.36 + 1.37 + else 1.38 + local interval_text = value:gsub("years", _"years [interval]") 1.39 + :gsub("{DAYS}", _"days [interval]") 1.40 + :gsub("{DAY}", _"day [interval]") 1.41 + :gsub("{MONS}", _"months [interval]") 1.42 + :gsub("{MON}", _"month [interval]") 1.43 + :gsub("{YEARS}", _"years [interval]") 1.44 + :gsub("{YEAR}", _"year [interval]") 1.45 + return _("#{interval_text} [interval]", { interval_text = interval_text }) 1.46 + 1.47 + end 1.48 +end 1.49 \ No newline at end of file