開発ノート@HarikoApps

HarikoApps: https://hariko.sprkls.me

2024-06-13

RailsのロケールファイルにはRubyファイルも使える #9

普通にRailsアプリを作っているとあまり利用することはないかもしれませんが、実はRailsのI18nのロケールファイルには.rbファイルも使えることを知りました。.rbファイルのevalはここで行われています

bindingにはI18n::Backend::Baseをincludeしたオブジェクトが設定され、ロケールの.rbファイルはI18nバックエンドオブジェクト(デフォルトではSimple)でevalされます。

このI18nバックエンドというものも初めて知ったのですが、ActiveRecordに保存したロケールを使えるバックエンドなどもあり、かなり柔軟なことができるようですね。

またバックエンドの実装を読んでいると、Gettextのpoファイル(設定が必要)やJSONもロケールファイルとして使えるようです。自分の作業範囲ではyamlファイルで事足りることが多いと思いますが、覚えておくといつか役に立つかもしれません。
Updated at