diff --git a/src/invidious.cr b/src/invidious.cr
index 1ff94929..19b924c2 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -2558,7 +2558,7 @@ get "/api/v1/videos/:id" do |env|
json.field "description", description
json.field "descriptionHtml", video.description
json.field "published", video.published.to_unix
- json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published))
+ json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published, locale))
json.field "keywords", video.keywords
json.field "viewCount", video.views
@@ -2766,7 +2766,7 @@ get "/api/v1/trending" do |env|
json.field "authorUrl", "/channel/#{video.ucid}"
json.field "published", video.published.to_unix
- json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published))
+ json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published, locale))
json.field "description", video.description
json.field "descriptionHtml", video.description_html
json.field "liveNow", video.live_now
@@ -2805,7 +2805,7 @@ get "/api/v1/popular" do |env|
json.field "authorId", video.ucid
json.field "authorUrl", "/channel/#{video.ucid}"
json.field "published", video.published.to_unix
- json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published))
+ json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published, locale))
end
end
end
@@ -2840,7 +2840,7 @@ get "/api/v1/top" do |env|
json.field "authorId", video.ucid
json.field "authorUrl", "/channel/#{video.ucid}"
json.field "published", video.published.to_unix
- json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published))
+ json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published, locale))
description = video.description.gsub("
", "\n")
description = description.gsub("
", "\n")
@@ -3015,7 +3015,7 @@ get "/api/v1/channels/:ucid" do |env|
json.field "viewCount", video.views
json.field "published", video.published.to_unix
- json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published))
+ json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published, locale))
json.field "lengthSeconds", video.length_seconds
json.field "liveNow", video.live_now
json.field "paid", video.paid
@@ -3113,7 +3113,7 @@ end
json.field "viewCount", video.views
json.field "published", video.published.to_unix
- json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published))
+ json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published, locale))
json.field "lengthSeconds", video.length_seconds
json.field "liveNow", video.live_now
json.field "paid", video.paid
@@ -3133,6 +3133,8 @@ end
["/api/v1/channels/:ucid/latest", "/api/v1/channels/latest/:ucid"].each do |route|
get route do |env|
+ locale = LOCALES[env.get("locale").as(String)]?
+
env.response.content_type = "application/json"
ucid = env.params.url["ucid"]
@@ -3163,7 +3165,7 @@ end
json.field "viewCount", video.views
json.field "published", video.published.to_unix
- json.field "publishedText", "#{recode_date(video.published)} ago"
+ json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published, locale))
json.field "lengthSeconds", video.length_seconds
json.field "liveNow", video.live_now
json.field "paid", video.paid
@@ -3351,7 +3353,7 @@ get "/api/v1/channels/search/:ucid" do |env|
json.field "viewCount", item.views
json.field "published", item.published.to_unix
- json.field "publishedText", translate(locale, "`x` ago", recode_date(item.published))
+ json.field "publishedText", translate(locale, "`x` ago", recode_date(item.published, locale))
json.field "lengthSeconds", item.length_seconds
json.field "liveNow", item.live_now
json.field "paid", item.paid
@@ -3480,7 +3482,7 @@ get "/api/v1/search" do |env|
json.field "viewCount", item.views
json.field "published", item.published.to_unix
- json.field "publishedText", translate(locale, "`x` ago", recode_date(item.published))
+ json.field "publishedText", translate(locale, "`x` ago", recode_date(item.published, locale))
json.field "lengthSeconds", item.length_seconds
json.field "liveNow", item.live_now
json.field "paid", item.paid
diff --git a/src/invidious/comments.cr b/src/invidious/comments.cr
index 5f1108aa..87cd4294 100644
--- a/src/invidious/comments.cr
+++ b/src/invidious/comments.cr
@@ -184,7 +184,7 @@ def fetch_youtube_comments(id, db, continuation, proxies, format, locale, region
json.field "content", content
json.field "contentHtml", content_html
json.field "published", published.to_unix
- json.field "publishedText", translate(locale, "`x` ago", recode_date(published))
+ json.field "publishedText", translate(locale, "`x` ago", recode_date(published, locale))
json.field "likeCount", node_comment["likeCount"]
json.field "commentId", node_comment["commentId"]
json.field "authorIsChannelOwner", node_comment["authorIsChannelOwner"]
@@ -310,7 +310,7 @@ def template_youtube_comments(comments, locale)
#{child["author"]}
#{child["contentHtml"]}
- #{translate(locale, "`x` ago", recode_date(Time.unix(child["published"].as_i64)))} #{child["isEdited"] == true ? translate(locale, "(edited)") : ""} + #{translate(locale, "`x` ago", recode_date(Time.unix(child["published"].as_i64), locale))} #{child["isEdited"] == true ? translate(locale, "(edited)") : ""} | [YT] | @@ -375,7 +375,7 @@ def template_reddit_comments(root, locale) [ - ] #{author} #{translate(locale, "`x` points", number_with_separator(score))} - #{translate(locale, "`x` ago", recode_date(child.created_utc))} + #{translate(locale, "`x` ago", recode_date(child.created_utc, locale))}