【问题标题】:Rails I18n.l wants a yaml file for every time zone...but why?Rails I18n.l 想要每个时区都有一个 yaml 文件……但是为什么呢?
【发布时间】:2011-06-16 10:55:49
【问题描述】:

我刚刚在我的用户模型中添加了一个字段 time_zone 并用 UTC + 01:00 填充它,并在第二次尝试时使用 'Bern' 来测试。

在我设置这个时区之前,在像 l @date, :format => :short 这样的视图中调用没有问题,因为它采用了我的 {locale}.yml 文件中的格式。但是现在,添加 time_zone 后,rails 正在寻找一个用于日期转换格式的 {time_zone}.yml 文件。

我看不出这背后的真正意义。我知道不同国家/地区显示日期和时间的方式与其他国家不同。但是为每个时区创建一个文件是否是正确的解决方案,尤其是当许多时区具有相同的显示格式时?我不认为这是 DRY。

但是,我需要使用时区,因为日期显示错误。如何保持使用 {locale}.yml 文件的行为,并且...只需定义一个将显示的日期转换为正确值的时区?

【问题讨论】:

    标签: ruby-on-rails datetime ruby-on-rails-3 localization internationalization


    【解决方案1】:

    一种可能的解决方案是将 {time_zone}.yml 文件创建为 {locale}.yml 文件的链接,因此您只需维护一个文件而不是两个(我假设 {time_zone }.yml 存在于 {locale}.yml)

    【讨论】:

    • 对,可以选择。但我仍然很好奇,在控制台中分配时区和语言环境并调用 I18n.l 时,它与基本 {locale}.yml 一起使用,并且不请求 time_zone one
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2020-01-15
    相关资源
    最近更新 更多