> I18n.available_locales
=> [:en, :de, :es, :ja, :"pt-BR", :"zh-CN", :"zh-HK", :"zh-TW"]
我尝试使用 localize
方法以特定的英文日期格式 -
> I18n.with_locale("en") { I18n.l(Time.zone.now, format: "%B, %Y") }
=> "April, 2016"
这个方法很有效。然后我尝试对西班牙语和日语进行相同的操作-
> I18n.with_locale("es") { I18n.l(Time.zone.now, format: "%B, %Y") }
=> "s, 2016"
> I18n.with_locale("ja") { I18n.l(Time.zone.now, format: "%B, %Y") }
=> "s, 2016"
看起来月份名称被翻译成了"s"
。
Rails I18n gem 确实为上述区域定义了月份名称。但是,#localize
方法是否真正使用了这些名称,还是试图从其他地方获取?
谢谢!
I18n.with_locale("es") { I18n.l(Time.zone.now, format: "%B, %Y") }
对我有效,但是I18n.with_locale("ja") { I18n.l(Time.zone.now, format: "%B, %Y") }
不行。你使用的 Rails 版本是什么? - Anthony E