import { base } from '$app/paths'; import { languages } from '$lib/languages'; import { getURLForLanguage } from '$lib/utils'; export async function handle({ event, resolve }) { let language = event.params.language ?? 'en'; const strings = await import(`./locales/${language}.json`); let path = event.url.pathname; let page = event.route.id?.replace('/[[language]]', '').split('/')[1] ?? 'home'; let title = strings.metadata[`${page}_title`]; let description = strings.metadata[`description`]; let head = ` gpx.studio — ${title} `; for (let lang of Object.keys(languages)) { head += ` `; } let stringsHTML = stringsToHTML(strings); const response = await resolve(event, { transformPageChunk: ({ html }) => html.replace('', head).replace('', ``) }); return response; } function stringsToHTML(dictionary, strings = new Set(), root = true) { Object.values(dictionary).forEach((value) => { if (typeof value === 'object') { stringsToHTML(value, strings, false); } else { strings.add(value); } }); if (root) { return Array.from(strings).map((string) => `

${string}

`).join(''); } }