Rails:是否有“ago”的内置翻译?

B S*_*ven 5 ruby-on-rails internationalization rails-i18n ruby-on-rails-4

Rails 之前翻译过,time_ago_in_words文档是这样的

time_ago_in_words(3.minutes.from_now)                 # => 3 minutes
Run Code Online (Sandbox Code Playgroud)

但是,在我们的应用程序中,我们使用"ago": 3 minutes ago

那么,当“ago”出现在 之前时,最好的翻译方式是什么time_ago,例如法语

伊尔亚 3 分钟

这是内置于 Rails 中的吗?

使用Rails 4.2.10rails-i18n gem提供时间距离,但不提供“过去”。

Jam*_*ani 3

我认为你只需要将时间作为变量传递给翻译即可。然后在语言ymls 中,您可以将字符串的其余部分放在需要的位置。

假设@product.purchased_time_ago返回time_ago_in_words().

# app/views/products/show.html.erb
<%= t('time_ago', time: @product.purchased_time_ago) %>

# config/locales/en.yml
en:
  time_ago: "%{time} ago"

# config/locales/fr.yml
fr:
  time_ago: "Il y a %{time}"
Run Code Online (Sandbox Code Playgroud)

这是直接取自文档的。