From cb6ee4783c1d535bb40c7331e155b7b6865e169e Mon Sep 17 00:00:00 2001 From: Matt Date: Fri, 10 Apr 2026 14:08:30 -0400 Subject: [PATCH] feat(i18n): add IT/ES to metadata alternates, sitemap, and Payload CMS config Co-Authored-By: Claude Opus 4.6 (1M context) --- src/app/(frontend)/[locale]/about/page.tsx | 2 ++ src/app/(frontend)/[locale]/layout.tsx | 4 +++- src/app/(frontend)/[locale]/page.tsx | 2 ++ src/app/(frontend)/[locale]/services/page.tsx | 2 ++ src/app/(frontend)/[locale]/work/[slug]/page.tsx | 2 ++ src/app/sitemap.ts | 4 ++++ src/payload/payload.config.ts | 2 ++ 7 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/app/(frontend)/[locale]/about/page.tsx b/src/app/(frontend)/[locale]/about/page.tsx index 38b8b8d..0d7298e 100644 --- a/src/app/(frontend)/[locale]/about/page.tsx +++ b/src/app/(frontend)/[locale]/about/page.tsx @@ -29,6 +29,8 @@ export async function generateMetadata({ params }: PageProps): Promise languages: { 'en': `${BASE_URL}/about`, 'fr': `${BASE_URL}/fr/about`, + 'it': `${BASE_URL}/it/about`, + 'es': `${BASE_URL}/es/about`, 'x-default': `${BASE_URL}/about`, }, }, diff --git a/src/app/(frontend)/[locale]/layout.tsx b/src/app/(frontend)/[locale]/layout.tsx index 54dc8db..cd13fcc 100644 --- a/src/app/(frontend)/[locale]/layout.tsx +++ b/src/app/(frontend)/[locale]/layout.tsx @@ -31,7 +31,7 @@ export async function generateMetadata({ params }: Props): Promise { openGraph: { type: 'website', siteName: t('siteName'), - locale: locale === 'fr' ? 'fr_FR' : 'en_US', + locale: ({ en: 'en_US', fr: 'fr_FR', it: 'it_IT', es: 'es_ES' } as Record)[locale] ?? 'en_US', images: [{ url: '/images/og-default.png', width: 1200, height: 630 }], }, twitter: { @@ -46,6 +46,8 @@ export async function generateMetadata({ params }: Props): Promise { languages: { 'en': BASE_URL, 'fr': `${BASE_URL}/fr`, + 'it': `${BASE_URL}/it`, + 'es': `${BASE_URL}/es`, 'x-default': BASE_URL, }, }, diff --git a/src/app/(frontend)/[locale]/page.tsx b/src/app/(frontend)/[locale]/page.tsx index 2dbc784..b61fc95 100644 --- a/src/app/(frontend)/[locale]/page.tsx +++ b/src/app/(frontend)/[locale]/page.tsx @@ -30,6 +30,8 @@ export async function generateMetadata({ params }: Props): Promise { languages: { 'en': BASE_URL, 'fr': `${BASE_URL}/fr`, + 'it': `${BASE_URL}/it`, + 'es': `${BASE_URL}/es`, 'x-default': BASE_URL, }, }, diff --git a/src/app/(frontend)/[locale]/services/page.tsx b/src/app/(frontend)/[locale]/services/page.tsx index d1f7915..19c7328 100644 --- a/src/app/(frontend)/[locale]/services/page.tsx +++ b/src/app/(frontend)/[locale]/services/page.tsx @@ -28,6 +28,8 @@ export async function generateMetadata({ params }: PageProps): Promise languages: { 'en': `${BASE_URL}/services`, 'fr': `${BASE_URL}/fr/services`, + 'it': `${BASE_URL}/it/services`, + 'es': `${BASE_URL}/es/services`, 'x-default': `${BASE_URL}/services`, }, }, diff --git a/src/app/(frontend)/[locale]/work/[slug]/page.tsx b/src/app/(frontend)/[locale]/work/[slug]/page.tsx index 3a666a3..7fb350d 100644 --- a/src/app/(frontend)/[locale]/work/[slug]/page.tsx +++ b/src/app/(frontend)/[locale]/work/[slug]/page.tsx @@ -98,6 +98,8 @@ export async function generateMetadata({ params }: PageProps): Promise languages: { 'en': `${BASE_URL}/work/${slug}`, 'fr': `${BASE_URL}/fr/work/${slug}`, + 'it': `${BASE_URL}/it/work/${slug}`, + 'es': `${BASE_URL}/es/work/${slug}`, 'x-default': `${BASE_URL}/work/${slug}`, }, }, diff --git a/src/app/sitemap.ts b/src/app/sitemap.ts index 3932299..aa2edfa 100644 --- a/src/app/sitemap.ts +++ b/src/app/sitemap.ts @@ -17,6 +17,8 @@ export default function sitemap(): MetadataRoute.Sitemap { languages: { en: `${BASE_URL}${route}`, fr: `${BASE_URL}/fr${route}`, + it: `${BASE_URL}/it${route}`, + es: `${BASE_URL}/es${route}`, }, }, })) @@ -30,6 +32,8 @@ export default function sitemap(): MetadataRoute.Sitemap { languages: { en: `${BASE_URL}/work/${slug}`, fr: `${BASE_URL}/fr/work/${slug}`, + it: `${BASE_URL}/it/work/${slug}`, + es: `${BASE_URL}/es/work/${slug}`, }, }, })) diff --git a/src/payload/payload.config.ts b/src/payload/payload.config.ts index 42d2489..eafaa15 100644 --- a/src/payload/payload.config.ts +++ b/src/payload/payload.config.ts @@ -37,6 +37,8 @@ export default buildConfig({ locales: [ { label: 'English', code: 'en' }, { label: 'Français', code: 'fr' }, + { label: 'Italiano', code: 'it' }, + { label: 'Español', code: 'es' }, ], defaultLocale: 'en', fallback: true,