如何使用CSS和Rails i18n单独格式化日期元素(年,月,日)?

时间:2013-10-10 13:45:04

标签: css ruby-on-rails rails-i18n

我们正在使用带有i18n gem的Rails。这是非常标准的东西。

使用i18n,您可以在语言环境yml文件中定义不同语言的日期格式。

例如,您可以拥有en.yml

date:
    formats:
        long: ! '%-d %b %Y'

在您的视图文件中,您可以执行

<span class="homepage_date"><%= l Date.today, format: :long %></span>

这一切都很好。它将输出“10 Oct 2013”​​字符串并将CSS样式应用于 整个字符串。

但是,我们要求使用不同的CSS类格式化日期元素(日期,月份,年份)。

例如,我们希望日期“10”采用瘦字体,月份“10月”采用粗体字体,年份“2013”​​采用其他字体。

在另一种语言中,格式可能会有所不同,例如,在中文中,我们希望所有3个元素(年,月,日)都使用相同的字体。

我不确定将CSS放在翻译yml文件中是否是一种好习惯。

满足我们要求的最佳解决方案是什么?

谢谢。

1 个答案:

答案 0 :(得分:2)

你可以做这样的事情

date:
  formats:
    styled: ! '<span class="day">%-d</span> <span class="month">%b</span> <span class="year">%Y</span>'

使用该格式

<span class="date"><%= l Date.today, format: :styled %></span>

然后为这些类指定css

.date .day {} ...