所以我正在使用I18n Indonesia本地化。
我在config / locales上有一个id.yml。
我希望在保存之前将created_at(datetime)的商店值转换为代码(字符串)并将月份转换为我的语言环境。
self.code = account.created_at.strftime("%d%B%Y").to_s
我试图看到翻译在Rails控制台中有效。
所以我试过了:
irb(main):003:0> account = Account.last.created_at
←[1m←[36mAccount Load (35.0ms)←[0m ←[1mSELECT "public"."accounts".* FROM "pub
lic"."accounts" ORDER BY "public"."accounts"."id" DESC LIMIT 1←[0m
=> Sat, 16 Mar 2013 10:07:37 UTC +00:00
irb(main):004:0> account.strftime("%d%B%Y").to_s
=> "16March2013"
irb(main):007:0> I18n.default_locale
=> :id
irb(main):008:0> I18n.t account.strftime("%d%B%Y").to_s
=> "translation missing: id.16March2013"
irb(main):006:0> I18n.l account.strftime("%d%B%Y").to_s
#<Class:0x6fc52c8>: Object must be a Date, DateTime or Time object. "16March2013
" given.
如何本地化月份值?
感谢您的帮助!
答案 0 :(得分:4)
根据rails guide日期,不应使用#translate
方法(I18n.t
)进行本地化,而应采用#localize
方法(I18n.l
)。
我还建议您使用包含常用翻译的rails-i18n gem,例如月份名称。
如果您仍无法找到解决方案,请与我们联系。