LoginSignup
1
1

More than 5 years have passed since last update.

Railsのi18nで定義している辞書情報を軒並み取得する方法

Posted at

以前ど忘れして号泣したのでメモ。

日本語訳ファイルを定義して、

config/locales/ja.yml
ja:
  date:
    formats:
      default: "%Y/%m/%d"
      short: "%m/%d"
      long: "%Y年%m月%d日(%a)"

    day_names: [日曜日, 月曜日, 火曜日, 水曜日, 木曜日, 金曜日, 土曜日]
    abbr_day_names: [, , , , , , ]

    month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
    abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]

    order:
      - :year
      - :month
      - :day

  time:
    formats:
      default: "%Y/%m/%d %H:%M:%S"
      short: "%y/%m/%d %H:%M"
      long: "%Y年%m月%d日(%a) %H時%M分%S秒 %Z"
    am: "午前"
    pm: "午後"

  number:
    currency:
      format:
        unit: '¥'
        delimiter: ','
        separator: '.'
        precision: 0

  hello: 'world'
  good:
    morning: 'yeah!'

rails consoleでI18n.t('.')と叩いてみる。
hashで取得されるのでこれを必要に応じてあれこれごにょごにょしたりする。

$rails c
$pry(main)> I18n.t('.')
=> {:date=>
  {:formats=>{:default=>"%Y/%m/%d", :short=>"%m/%d", :long=>"%Y年%m月%d日(%a)"},
   :day_names=>["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"],
   :abbr_day_names=>["日", "月", "火", "水", "木", "金", "土"],
   :month_names=>[nil, "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
   :abbr_month_names=>[nil, "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
   :order=>[:year, :month, :day]},
 :time=>{:formats=>{:default=>"%Y/%m/%d %H:%M:%S", :short=>"%y/%m/%d %H:%M", :long=>"%Y年%m月%d日(%a) %H時%M分%S秒 %Z"}, :am=>"午前", :pm=>"午後"},
 :number=>{:currency=>{:format=>{:unit=>"¥", :delimiter=>",", :separator=>".", :precision=>0}}},
 :hello=>"world",
 :good=>{:morning=>"yeah!"}}

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1