class Middleman::CoreExtensions::Internationalization

def build_resource(path, source_path, page_id, locale)

def build_resource(path, source_path, page_id, locale)
  old_locale = ::I18n.locale
  ::I18n.locale = locale
  localized_page_id = ::I18n.t("paths.#{page_id}", default: page_id, fallback: false)
  partially_localized_path = ''
  File.dirname(path).split('/').each do |path_sub|
    next if path_sub == ''
    partially_localized_path = "#{partially_localized_path}/#{::I18n.t("paths.#{path_sub}", default: path_sub, fallback: false)}"
  end
  path = "#{partially_localized_path}/#{File.basename(path)}"
  prefix = path_root(locale)
  # path needs to be changed if file has a localizable extension. (options[mount_at_root] == locale)
  path = ::Middleman::Util.normalize_path(
    File.join(prefix, path.sub(page_id, localized_page_id))
  )
  path = path.sub(options[:templates_dir] + '/', '')
  ::I18n.locale = old_locale
  LocalizedPageDescriptor.new(path, source_path, locale)
end