Rails Ruby 中的自定义复数形式
Custom pluralization in Ruby on Rails
我有一个月份范围字符串,并希望以这种方式将其复数化:
I18n.t :range, min: min_date, max: max_date
如果 min_date
和 max_date
相等,则应转换为 %{min_date} to %{max_date}
,但如果它们不同,我只想显示 %{min_date}
.
如何在我的语言环境文件中做到这一点:
range:
one: "%{min_date}"
other: "%{min_date} to %{max_date}"
这不是真正的国际化插值工作。您可能最好只使用一种方法(例如,在辅助模块中)。这样,您就可以明确说明自己想要实现的目标,而无需滥用不相关的机制。
def render_range(min_date, max_date)
if min_date == max_date
min_date.to_s
else
I18n.t :range, min: min_date.to_s, max: max_date.to_s
end
end
然后,在您的定位文件中,您可以像这样指定范围键:
range: "%{min} to %{max}"
我有一个月份范围字符串,并希望以这种方式将其复数化:
I18n.t :range, min: min_date, max: max_date
如果 min_date
和 max_date
相等,则应转换为 %{min_date} to %{max_date}
,但如果它们不同,我只想显示 %{min_date}
.
如何在我的语言环境文件中做到这一点:
range:
one: "%{min_date}"
other: "%{min_date} to %{max_date}"
这不是真正的国际化插值工作。您可能最好只使用一种方法(例如,在辅助模块中)。这样,您就可以明确说明自己想要实现的目标,而无需滥用不相关的机制。
def render_range(min_date, max_date)
if min_date == max_date
min_date.to_s
else
I18n.t :range, min: min_date.to_s, max: max_date.to_s
end
end
然后,在您的定位文件中,您可以像这样指定范围键:
range: "%{min} to %{max}"