2011-01-29 105 views
0

我有一个存储start_time,end_time和day的实践模型。Rails I18n:星期几

该信息(与网站的其他部分一样)将需要以3种不同的 语言显示。

Start_time和end_time都作为日期时间类型存储在数据库中。

一天尚未实施,但将显示为一个选择框。我看到人们建议一个常量的数组并将其作为整数存储在数据库中。虽然这看起来合理,但我很难想象使用不同的语言(使用I18n或Globalize2)。

什么是最简洁的方式来实现这个,所以它适用于不同的语言?

回答

1

我看不出存储数据库中一周的日子的好理由;如果这些名称会改变,我们会很惊讶,并且我们正在讨论7 * 3字符串,这是您的应用程序需要处理的少量数据。

i18n是要走的路。您可以浏览this repository找到day_names已经翻译成不同的语言。

+1

我该如何使用它输出正确语言环境中任何给定时间对象的星期几? – lulalala 2012-04-05 03:55:32

0

如果您无法从开始和结束日期时间对象存储或计算星期几,那么我会建议使用ENUM in the database - 这会导致数据以整数形式存储 - 占用较少的空间和更容易索引,并且转换为字符串类型会自动完成,以便您可以查询和插入字符串,但实际的数据库值是整数。

绝对不会将这些值存储为字符串,但它很难处理它们,并占用更多空间。