diff --git a/src/pages/[lang]/about.astro b/src/pages/[...lang]/about.astro
similarity index 66%
rename from src/pages/[lang]/about.astro
rename to src/pages/[...lang]/about.astro
index 3e57dca..499fd38 100644
--- a/src/pages/[lang]/about.astro
+++ b/src/pages/[...lang]/about.astro
@@ -2,15 +2,18 @@
import '../../styles/main.css'
import XahauAbout from '../../components/XahauAbout.astro'
import { aboutTranslations } from '../../i18n/aboutTranslations'
-import { type Locale, nonDefaultLocales } from '../../i18n/locales'
+import { defaultLocale, type Locale, locales } from '../../i18n/locales'
import BaseLayout from '../../layouts/BaseLayout.astro'
export function getStaticPaths() {
- return nonDefaultLocales.map((lang) => ({ params: { lang } }))
+ return locales.map((lang) => ({
+ params: { lang: lang === defaultLocale ? undefined : lang },
+ }))
}
const { lang } = Astro.params
-const t = aboutTranslations[lang as Locale]
+const locale = (lang as Locale) ?? defaultLocale
+const t = aboutTranslations[locale]
const _frontmatter = { title: t.page_title, description: t.page_subtitle }
---
diff --git a/src/pages/[lang]/connect.astro b/src/pages/[...lang]/connect.astro
similarity index 62%
rename from src/pages/[lang]/connect.astro
rename to src/pages/[...lang]/connect.astro
index e6e7284..3bf991e 100644
--- a/src/pages/[lang]/connect.astro
+++ b/src/pages/[...lang]/connect.astro
@@ -2,15 +2,18 @@
import '../../styles/main.css'
import XahauConnect from '../../components/XahauConnect.astro'
import connectData from '../../data/connect.json'
-import { type Locale, nonDefaultLocales } from '../../i18n/locales'
+import { defaultLocale, type Locale, locales } from '../../i18n/locales'
import BaseLayout from '../../layouts/BaseLayout.astro'
export function getStaticPaths() {
- return nonDefaultLocales.map((lang) => ({ params: { lang } }))
+ return locales.map((lang) => ({
+ params: { lang: lang === defaultLocale ? undefined : lang },
+ }))
}
const { lang } = Astro.params
-const { title, description } = connectData.meta[lang as Locale]
+const locale = (lang as Locale) ?? defaultLocale
+const { title, description } = connectData.meta[locale]
const _frontmatter = { title, description }
---
diff --git a/src/pages/[lang]/contest.astro b/src/pages/[...lang]/contest.astro
similarity index 66%
rename from src/pages/[lang]/contest.astro
rename to src/pages/[...lang]/contest.astro
index 73794f1..35287ae 100644
--- a/src/pages/[lang]/contest.astro
+++ b/src/pages/[...lang]/contest.astro
@@ -2,15 +2,18 @@
import '../../styles/main.css'
import XahauContest from '../../components/XahauContest.astro'
import { contestTranslations } from '../../i18n/contestTranslations'
-import { type Locale, nonDefaultLocales } from '../../i18n/locales'
+import { defaultLocale, type Locale, locales } from '../../i18n/locales'
import BaseLayout from '../../layouts/BaseLayout.astro'
export function getStaticPaths() {
- return nonDefaultLocales.map((lang) => ({ params: { lang } }))
+ return locales.map((lang) => ({
+ params: { lang: lang === defaultLocale ? undefined : lang },
+ }))
}
const { lang } = Astro.params
-const t = contestTranslations[lang as Locale]
+const locale = (lang as Locale) ?? defaultLocale
+const t = contestTranslations[locale]
const _frontmatter = { title: t.page_title, description: t.page_subtitle }
---
diff --git a/src/pages/[lang]/ecosystem.astro b/src/pages/[...lang]/ecosystem.astro
similarity index 60%
rename from src/pages/[lang]/ecosystem.astro
rename to src/pages/[...lang]/ecosystem.astro
index b13b58e..e67bc67 100644
--- a/src/pages/[lang]/ecosystem.astro
+++ b/src/pages/[...lang]/ecosystem.astro
@@ -2,16 +2,19 @@
import '../../styles/main.css'
import XahauEcosystem from '../../components/XahauEcosystem.astro'
import ecosystemData from '../../data/ecosystem.json'
-import { type Locale, nonDefaultLocales } from '../../i18n/locales'
+import { defaultLocale, type Locale, locales } from '../../i18n/locales'
import BaseLayout from '../../layouts/BaseLayout.astro'
export function getStaticPaths() {
- return nonDefaultLocales.map((lang) => ({ params: { lang } }))
+ return locales.map((lang) => ({
+ params: { lang: lang === defaultLocale ? undefined : lang },
+ }))
}
const { lang } = Astro.params
-const title = ecosystemData.title[lang as Locale]
-const description = ecosystemData.description[lang as Locale]
+const locale = (lang as Locale) ?? defaultLocale
+const title = ecosystemData.title[locale]
+const description = ecosystemData.description[locale]
const _frontmatter = { title, description }
---
diff --git a/src/pages/[lang]/features.astro b/src/pages/[...lang]/features.astro
similarity index 64%
rename from src/pages/[lang]/features.astro
rename to src/pages/[...lang]/features.astro
index 7faa499..9da7b96 100644
--- a/src/pages/[lang]/features.astro
+++ b/src/pages/[...lang]/features.astro
@@ -2,15 +2,18 @@
import '../../styles/main.css'
import XahauFeatures from '../../components/XahauFeatures.astro'
import { featuresTranslations } from '../../i18n/featuresTranslations'
-import { type Locale, nonDefaultLocales } from '../../i18n/locales'
+import { defaultLocale, type Locale, locales } from '../../i18n/locales'
import BaseLayout from '../../layouts/BaseLayout.astro'
export function getStaticPaths() {
- return nonDefaultLocales.map((lang) => ({ params: { lang } }))
+ return locales.map((lang) => ({
+ params: { lang: lang === defaultLocale ? undefined : lang },
+ }))
}
const { lang } = Astro.params
-const t = featuresTranslations[lang as Locale] ?? featuresTranslations.en
+const locale = (lang as Locale) ?? defaultLocale
+const t = featuresTranslations[locale] ?? featuresTranslations.en
const _frontmatter = { title: t.page_title, description: t.page_subtitle }
---
diff --git a/src/pages/[...lang]/fraud-report.astro b/src/pages/[...lang]/fraud-report.astro
new file mode 100644
index 0000000..f0a638c
--- /dev/null
+++ b/src/pages/[...lang]/fraud-report.astro
@@ -0,0 +1,17 @@
+---
+import FraudReportPage from '../../components/FraudReportPage.astro'
+import { fraudReportTranslations } from '../../i18n/fraudReportTranslations'
+import { defaultLocale, type Locale, locales } from '../../i18n/locales'
+
+export function getStaticPaths() {
+ return locales.map((lang) => ({
+ params: { lang: lang === defaultLocale ? undefined : lang },
+ }))
+}
+
+const { lang } = Astro.params
+const locale = (lang as Locale) ?? defaultLocale
+const t = fraudReportTranslations[locale]
+---
+
+
diff --git a/src/pages/[lang]/index.astro b/src/pages/[...lang]/index.astro
similarity index 100%
rename from src/pages/[lang]/index.astro
rename to src/pages/[...lang]/index.astro
diff --git a/src/pages/[lang]/privacy-policy.astro b/src/pages/[...lang]/privacy-policy.astro
similarity index 100%
rename from src/pages/[lang]/privacy-policy.astro
rename to src/pages/[...lang]/privacy-policy.astro
diff --git a/src/pages/[lang]/roadmap.astro b/src/pages/[...lang]/roadmap.astro
similarity index 57%
rename from src/pages/[lang]/roadmap.astro
rename to src/pages/[...lang]/roadmap.astro
index 945a21f..069b401 100644
--- a/src/pages/[lang]/roadmap.astro
+++ b/src/pages/[...lang]/roadmap.astro
@@ -2,20 +2,23 @@
import '../../styles/main.css'
import XahauRoadmap from '../../components/XahauRoadmap.astro'
import roadmapData from '../../data/roadmap.json'
-import { type Locale, nonDefaultLocales } from '../../i18n/locales'
+import { defaultLocale, type Locale, locales } from '../../i18n/locales'
import BaseLayout from '../../layouts/BaseLayout.astro'
export function getStaticPaths() {
- return nonDefaultLocales.map((lang) => ({ params: { lang } }))
+ return locales.map((lang) => ({
+ params: { lang: lang === defaultLocale ? undefined : lang },
+ }))
}
const { lang } = Astro.params
-const { title, description } = roadmapData.pageMeta[lang as Locale]
+const locale = (lang as Locale) ?? defaultLocale
+const { title, description } = roadmapData.pageMeta[locale]
const _frontmatter = { title, description }
---
-
+
diff --git a/src/pages/[lang]/fraud-report.astro b/src/pages/[lang]/fraud-report.astro
deleted file mode 100644
index 2836e04..0000000
--- a/src/pages/[lang]/fraud-report.astro
+++ /dev/null
@@ -1,14 +0,0 @@
----
-import FraudReportPage from '../../components/FraudReportPage.astro'
-import { fraudReportTranslations } from '../../i18n/fraudReportTranslations'
-import { type Locale, nonDefaultLocales } from '../../i18n/locales'
-
-export function getStaticPaths() {
- return nonDefaultLocales.map((lang) => ({ params: { lang } }))
-}
-
-const { lang } = Astro.params
-const t = fraudReportTranslations[lang as Locale]
----
-
-
diff --git a/src/pages/about.astro b/src/pages/about.astro
deleted file mode 100644
index cc43bb8..0000000
--- a/src/pages/about.astro
+++ /dev/null
@@ -1,15 +0,0 @@
----
-import '../styles/main.css'
-import XahauAbout from '../components/XahauAbout.astro'
-import { aboutTranslations } from '../i18n/aboutTranslations'
-import BaseLayout from '../layouts/BaseLayout.astro'
-
-const { page_title: title, page_subtitle: description } = aboutTranslations.en
-const _frontmatter = { title, description }
----
-
-
-
-
-
-
diff --git a/src/pages/connect.astro b/src/pages/connect.astro
deleted file mode 100644
index dcd6ce4..0000000
--- a/src/pages/connect.astro
+++ /dev/null
@@ -1,15 +0,0 @@
----
-import '../styles/main.css'
-import XahauConnect from '../components/XahauConnect.astro'
-import connectData from '../data/connect.json'
-import BaseLayout from '../layouts/BaseLayout.astro'
-
-const { title, description } = connectData.meta.en
-const _frontmatter = { title, description }
----
-
-
-
-
-
-
diff --git a/src/pages/contest.astro b/src/pages/contest.astro
deleted file mode 100644
index f782e16..0000000
--- a/src/pages/contest.astro
+++ /dev/null
@@ -1,15 +0,0 @@
----
-import '../styles/main.css'
-import XahauContest from '../components/XahauContest.astro'
-import { contestTranslations } from '../i18n/contestTranslations'
-import BaseLayout from '../layouts/BaseLayout.astro'
-
-const { page_title: title, page_subtitle: description } = contestTranslations.en
-const _frontmatter = { title, description }
----
-
-
-
-
-
-
diff --git a/src/pages/ecosystem.astro b/src/pages/ecosystem.astro
deleted file mode 100644
index d08fe3d..0000000
--- a/src/pages/ecosystem.astro
+++ /dev/null
@@ -1,17 +0,0 @@
----
-import '../styles/main.css'
-import XahauEcosystem from '../components/XahauEcosystem.astro'
-import ecosystemData from '../data/ecosystem.json'
-import BaseLayout from '../layouts/BaseLayout.astro'
-
-const _frontmatter = {
- title: ecosystemData.title.en,
- description: ecosystemData.description.en,
-}
----
-
-
-
-
-
-
diff --git a/src/pages/features.astro b/src/pages/features.astro
deleted file mode 100644
index 001cb95..0000000
--- a/src/pages/features.astro
+++ /dev/null
@@ -1,16 +0,0 @@
----
-import '../styles/main.css'
-import XahauFeatures from '../components/XahauFeatures.astro'
-import { featuresTranslations } from '../i18n/featuresTranslations'
-import BaseLayout from '../layouts/BaseLayout.astro'
-
-const { page_title: title, page_subtitle: description } =
- featuresTranslations.en
-const _frontmatter = { title, description }
----
-
-
-
-
-
-
diff --git a/src/pages/fraud-report.astro b/src/pages/fraud-report.astro
deleted file mode 100644
index f6e3207..0000000
--- a/src/pages/fraud-report.astro
+++ /dev/null
@@ -1,6 +0,0 @@
----
-import FraudReportPage from '../components/FraudReportPage.astro'
-import { fraudReportTranslations } from '../i18n/fraudReportTranslations'
----
-
-
diff --git a/src/pages/roadmap.astro b/src/pages/roadmap.astro
deleted file mode 100644
index 3fbcb57..0000000
--- a/src/pages/roadmap.astro
+++ /dev/null
@@ -1,15 +0,0 @@
----
-import '../styles/main.css'
-import XahauRoadmap from '../components/XahauRoadmap.astro'
-import roadmapData from '../data/roadmap.json'
-import BaseLayout from '../layouts/BaseLayout.astro'
-
-const { title, description } = roadmapData.pageMeta.en
-const _frontmatter = { title, description }
----
-
-
-
-
-
-