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.10和rails-i18n gem提供时间距离,但不提供“过去”。
我认为你只需要将时间作为变量传递给翻译即可。然后在语言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)
这是直接取自文档的。
| 归档时间: |
|
| 查看次数: |
661 次 |
| 最近记录: |