Project

enum-i18n

0.0
Low commit activity in last 3 years
A long-lived project that still receives updates
Enum attributes with I18n and ActiveRecord support. DEPRECATED: This gem is deprecated and will be archived soon. Consider using Rails built-in human_attribute_name or alternative gems like enum_help.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.15
~> 10.0
~> 3.0

Runtime

 Project Readme

EnumI18n

⚠️ DEPRECATED: This gem is deprecated and will be archived soon. ⚠️

Why Deprecated?

This gem was created to provide I18n support for ActiveRecord enums, but Rails now has better built-in alternatives:

  • Rails 7.1+: Use human_attribute_name with enum values
  • Alternative gems: Consider using enum_help or enumerize which are more actively maintained

Migration Guide

Before (with enum-i18n):

class User < ApplicationRecord
  include EnumI18n
  enum :status, [:active, :inactive]
end

# Usage
@user.status_text # => "Active"

After (Rails 7.1+):

class User < ApplicationRecord
  enum :status, [:active, :inactive]
end

# Usage
User.human_attribute_name("status.#{@user.status}") # => "Active"

Alternative gems:

  • enum_help: gem 'enum_help' - More actively maintained
  • enumerize: gem 'enumerize' - Feature-rich enum management

Archive Date

This gem will be archived on or after August 31, 2025.


Enum attributes with I18n and ActiveRecord support

Installation

Add this line to your application's Gemfile:

gem 'enum-i18n'

And then execute:

$ bundle

Or install it yourself as:

$ gem install enum-i18n

Usage

ActiveRecord:

class ApplicationRecord < ActiveRecord::Base
  include EnumI18n
end

Or:

class User < ApplicationRecord
  include EnumI18n
end

I18n:

---
en:
  activerecord:
    enum:
      user:
        sex:
          male: "Male"
          female: "Female"

get attribute value:

@user.sex_text

or can appoint i18n scope

@user.sex_text('user.sex')

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/amyroi/enum-i18n. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

For bug reports and issues, please use our GitHub Issues page.