liquid_feedback_frontend

annotate 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
rev   line source
bsw@932 1 function format.interval_text(value, options)
bsw@932 2
bsw@932 3 local options = options or {}
bsw@932 4
bsw@932 5 value = value:gsub("%..*", "")
bsw@932 6 :gsub("days", "{DAYS}")
bsw@932 7 :gsub("day", "{DAY}")
bsw@932 8 :gsub("mons", "{MONS}")
bsw@932 9 :gsub("mon", "{MON}")
bsw@932 10 :gsub("yeas", "{YEARS}")
bsw@932 11 :gsub("year", "{YEAR}")
bsw@932 12
bsw@932 13 if (options.mode == "time_left") then
bsw@932 14
bsw@932 15 local interval_text = value
bsw@932 16 :gsub("{DAYS}", _"days [interval time left]")
bsw@932 17 :gsub("{DAY}", _"day [interval time left]")
bsw@932 18 :gsub("{MONS}", _"months [interval time left]")
bsw@932 19 :gsub("{MON}", _"month [interval time left]")
bsw@932 20 :gsub("{YEARS}", _"years [interval time left]")
bsw@932 21 :gsub("{YEAR}", _"year [interval time left]")
bsw@932 22 return _("#{interval_text} left", { interval_text = interval_text })
bsw@932 23
bsw@932 24 elseif (options.mode == "ago") then
bsw@932 25 local interval_text = value:gsub("years", _"years [interval ago]")
bsw@932 26 :gsub("{DAYS}", _"days [interval ago]")
bsw@932 27 :gsub("{DAY}", _"day [interval ago]")
bsw@932 28 :gsub("{MONS}", _"months [interval ago]")
bsw@932 29 :gsub("{MON}", _"month [interval ago]")
bsw@932 30 :gsub("{YEARS}", _"years [interval ago]")
bsw@932 31 :gsub("{YEAR}", _"year [interval ago]")
bsw@932 32 return _("#{interval_text} ago", { interval_text = interval_text })
bsw@932 33
bsw@932 34 else
bsw@932 35 local interval_text = value:gsub("years", _"years [interval]")
bsw@932 36 :gsub("{DAYS}", _"days [interval]")
bsw@932 37 :gsub("{DAY}", _"day [interval]")
bsw@932 38 :gsub("{MONS}", _"months [interval]")
bsw@932 39 :gsub("{MON}", _"month [interval]")
bsw@932 40 :gsub("{YEARS}", _"years [interval]")
bsw@932 41 :gsub("{YEAR}", _"year [interval]")
bsw@932 42 return _("#{interval_text} [interval]", { interval_text = interval_text })
bsw@932 43
bsw@932 44 end
bsw@932 45 end

Impressum / About Us