class Middleman::CoreExtensions::Internationalization
def build_resource(path, source_path, page_id, lang)
def build_resource(path, source_path, page_id, lang) old_locale = ::I18n.locale ::I18n.locale = lang localized_page_id = ::I18n.t("paths.#{page_id}", default: page_id, fallback: []) prefix = if (options[:mount_at_root] == lang) || (options[:mount_at_root].nil? && langs[0] == lang) '/' else replacement = options[:lang_map].fetch(lang, lang) options[:path].sub(':locale', replacement.to_s) end # path needs to be changed if file has a localizable extension. (options[mount_at_root] == lang) path = ::Middleman::Util.normalize_path( File.join(prefix, path.sub(page_id, localized_page_id)) ) path = path.sub(options[:templates_dir] + '/', '') p = ::Middleman::Sitemap::ProxyResource.new(app.sitemap, path, source_path) p.add_metadata locals: { lang: lang, page_id: path }, options: { lang: lang } ::I18n.locale = old_locale p end