0

所以我正在使用 I18n 印度尼西亚本地化。

我在 config/locales 上有一个 id.yml。

我想在保存之前将 created_at (日期时间)的值存储到代码(字符串)和月份转换到我的语言环境..

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.

如何本地化月份值?

谢谢你的帮助!

4

1 回答 1

4

根据rails 指南,日期不应使用#translate方法 ( I18n.t)本地化,而应使用#localize方法( ) 本地化I18n.l

我还建议您使用rails-i18n gem,其中包含常见的翻译,例如月份名称。

如果您仍然无法找到解决方案,请告诉我。

于 2013-03-19T18:26:30.857 回答