module Extensions
module Routing

module AbstractRequest
def self.included(base)
base.alias_method_chain :path, :localization
end

def path_with_localization
@localized_path ||=
Extensions::Routing.localize_path(path_without_localization)
end
end

def self.localize_path(path)
return "" if path.blank?

path.split("/").map do |segment|
case segment
when "": segment
when /\A:/: segment
else
fragment = UrlFragment.find_by_localized(segment)
fragment.blank? ? segment : fragment.original
end
end.join("/")
end

end
end