GlobalizedMethod

Usage example

class Item < ApplicationRecord # or BasicObject (works the same)
  include GlobalizedMethod

  globalized_method :name

  def name_en
    'some name'
  end

  def name_ru
    'некоторое имя'
  end
end
I18n.with_locale(:en) do
  Item.global_ln(:name) #=> :name_en
end

I18n.with_locale(:ru) do
  Item.global_ln(:name) #=> :name_ru
end
Item.global_ls(:name) #=> [:name_en, :name_ru]
Item.global_ls(:name, code: true) #=> [[:name_en, :en], [:name_ru, :ru]]
I18n.with_locale(:en) do
  Item.new.name #=> 'some name'
end

I18n.with_locale(:ru) do
  Item.new.name #=> 'некоторое имя'
end