Enum Internationalization in Rails 8

Rails 8 improves I18n integration for enums, allowing direct mapping inside enums using store_attribute.

New I18n-Aware Enum Definition in Rails 8

class User < ApplicationRecord
  enum :status, { active: "active", inactive: "inactive", banned: "banned" }, store_attribute: :preferences
end

Now, enums are stored inside a JSON column and can be automatically translated using I18n.

Enhanced Localization with ActiveRecord Queries

User.where("preferences->>'status' = ?", I18n.t("activerecord.attributes.user.statuses.active"))

This makes querying and translating enums in Rails 8 more efficient.