如何使用CSS和Rails i18n分别格式化日期元素(年、月、日期)?

如何使用CSS和Rails i18n分别格式化日期元素(年、月、日期)?,css,ruby-on-rails,rails-i18n,Css,Ruby On Rails,Rails I18n,我们将Rails与i18nGem一起使用。这是相当标准的东西 使用i18n,您可以在locales yml文件中定义不同语言的日期格式 例如,您可以使用en.yml date: formats: long: ! '%-d %b %Y' 在视图文件中,可以执行以下操作 <span class="homepage_date"><%= l Date.today, format: :long %></span> 这一切都很好。它将输出“

我们将Rails与i18nGem一起使用。这是相当标准的东西

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

例如,您可以使用en.yml

date:
    formats:
        long: ! '%-d %b %Y'
在视图文件中,可以执行以下操作

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

这一切都很好。它将输出“2013年10月10日”字符串,并将CSS样式应用于 整根绳子

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

例如,我们希望日期“10”采用精简字体,月份“10”采用粗体字体,年份“2013”采用另一种字体

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

我不确定在翻译yml文件时使用CSS是否是一种好的做法

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


谢谢。

你可以这样做

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

谢谢你的评论。我知道这种在翻译yml文件中嵌入css的方法。通过这种方式,格式和翻译混合在一起,尽管您可以认为格式是本地化工作的一部分。理想情况下,css格式应该保存在视图文件中。同样,这样做也不会太枯燥,因为CSS元素被写入(比如)15-20个翻译yml文件中。但是谢谢你的评论。@JeffChau如果你有一个默认的语言环境,你不必把它放在每个翻译文件中。只是把它放进默认值。看起来在视图文件中,我必须写,否则,html会显示在网站上,就像是直译一样
<span class="date"><%= l Date.today, format: :styled %></span>
.date .day {} ...