1

我们将 Rails 与 i18n gem 一起使用。这是很标准的东西。

使用 i18n,您可以在 locales 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”使用细字体,月份“Oct”使用粗体,年份“2013”​​使用另一种字体。

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

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

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

谢谢你。

4

1 回答 1

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 {} ...
于 2013-10-10T14:07:12.580 回答