Why don’t you go for a simpler self-referential association?
class Category < ActiveRecord::Base
belongs_to :base_category, :class_name => "Category"
has_many :localized_categories, :class_name => "Category", :inverse_of => :base_category
scope :base, where(:base_category_id => nil)
scope :localized, where("base_category_id NOT NULL")
…
end