如何将time_ago_in_words func的值翻译成我的语言?

时间:2017-03-01 13:38:11

标签: ruby-on-rails ruby

我使用Ruby on Rails创建了一个阿拉伯语Web应用程序,如何将time_ago_in_words函数的结果转换为阿拉伯语?

还是我应该写自己的功能?

1 个答案:

答案 0 :(得分:1)

如果您查看distance_of_time_in_words方法的文档(在time_ago_in_words的引擎下使用),您会看到,您可以通过scope选项进行自定义翻译查找:

  

使用scope选项,您可以定义Rails的自定义范围   翻译。

     

例如,您可以在语言环境中定义以下内容(例如en.yml)。

datetime:
  distance_in_words:
    short:
      about_x_hours:
        one: 'an hour'
        other: '%{count} hours'
     

请参阅github.com/svenfuchs/rails-i18n/blob/master/rails/locale/en.yml   更多例子。

     

然后会产生以下结果:

from_time = Time.now distance_of_time_in_words(from_time, from_time + 50.minutes, scope: 'datetime.distance_in_words.short')
# => "an hour"
distance_of_time_in_words(from_time, from_time + 3.hours, scope: 'datetime.distance_in_words.short')
# => "3 hours"