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