diff --git a/web/src/routes/about/[page]/+page.svelte b/web/src/routes/about/[page]/+page.svelte
index 01b94fe0..68bad426 100644
--- a/web/src/routes/about/[page]/+page.svelte
+++ b/web/src/routes/about/[page]/+page.svelte
@@ -1,10 +1,6 @@
-
-{#await component then component}
-
-{/await}
+
diff --git a/web/src/routes/about/[page]/+page.ts b/web/src/routes/about/[page]/+page.ts
new file mode 100644
index 00000000..be5c7a33
--- /dev/null
+++ b/web/src/routes/about/[page]/+page.ts
@@ -0,0 +1,29 @@
+import type { ComponentType, SvelteComponent } from 'svelte';
+import { get } from 'svelte/store';
+import { error } from '@sveltejs/kit';
+
+import type { PageLoad } from './$types';
+
+import locale from '$lib/i18n/locale';
+import type { DefaultImport } from '$lib/types/generic';
+import { defaultLocale } from '$lib/i18n/translations';
+
+const pages = import.meta.glob('$i18n/*/about/*.md');
+
+export const load: PageLoad = async ({ params }) => {
+ const getPage = (locale: string) => Object.keys(pages).find(
+ file => file.endsWith(`${locale}/about/${params.page}.md`)
+ );
+
+ const componentPath = getPage(get(locale)) || getPage(defaultLocale);
+ if (componentPath) {
+ type Component = ComponentType;
+ const componentImport = pages[componentPath] as DefaultImport;
+
+ return { component: (await componentImport()).default }
+ }
+
+ error(404, 'Not found');
+};
+
+export const prerender = true;