Add support for translating time intervals

This commit is contained in:
Omar Roth
2019-02-20 08:49:39 -06:00
parent fb14d9c134
commit 83493237a5
4 changed files with 25 additions and 28 deletions

View File

@@ -136,31 +136,26 @@ def decode_date(string : String)
return Time.now - delta
end
def recode_date(time : Time)
def recode_date(time : Time, locale)
span = Time.now - time
if span.total_days > 365.0
span = {span.total_days / 365, "year"}
span = translate(locale, "`x` years", (span.total_days.to_i / 365).to_s)
elsif span.total_days > 30.0
span = {span.total_days / 30, "month"}
span = translate(locale, "`x` months", (span.total_days.to_i / 30).to_s)
elsif span.total_days > 7.0
span = {span.total_days / 7, "week"}
span = translate(locale, "`x` weeks", (span.total_days.to_i / 7).to_s)
elsif span.total_hours > 24.0
span = {span.total_days, "day"}
span = translate(locale, "`x` days", (span.total_days).to_s)
elsif span.total_minutes > 60.0
span = {span.total_hours, "hour"}
span = translate(locale, "`x` hours", (span.total_hours).to_s)
elsif span.total_seconds > 60.0
span = {span.total_minutes, "minute"}
span = translate(locale, "`x` minutes", (span.total_minutes).to_s)
else
span = {span.total_seconds, "second"}
span = translate(locale, "`x` seconds", (span.total_seconds).to_s)
end
span = {span[0].to_i, span[1]}
if span[0] > 1
span = {span[0], span[1] + "s"}
end
return span.join(" ")
return span
end
def number_with_separator(number)