Поэтому я использую локализацию I18n для Индонезии.
У меня есть id.yml в config/locales.
Я хочу сохранить значение 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.
Как я могу локализовать значение месяца?
Спасибо за вашу помощь!
I18n.localize
для форматирования и смещения по местному часовому поясу - т.е.I18n.l(account.created_at, format: :short)
вы можете добавить свои собственные пользовательские форматы помимо длинного и короткого - см. также guides.rubyonrails.org/i18n.html#adding-date-time-formats и см. также этот файл локалей id.yml — github.com/svenfuchs /rails-i18n/blob/master/rails/locale/id.yml - person house9   schedule 20.03.2013created_at
(дата-время) вcode
(строка) и перевод месяца на мой языкbefore_save
.. - person rails_id   schedule 20.03.2013