This commit is contained in:
@@ -23,9 +23,11 @@ interface ContactPageProps {
|
||||
|
||||
export async function generateMetadata({ params: { locale } }: ContactPageProps): Promise<Metadata> {
|
||||
const t = await getTranslations({ locale, namespace: 'Contact' });
|
||||
const title = t('meta.title') || t('title');
|
||||
const description = t('meta.description') || t('subtitle');
|
||||
return {
|
||||
title: t('title'),
|
||||
description: t('subtitle'),
|
||||
title,
|
||||
description,
|
||||
alternates: {
|
||||
canonical: `https://klz-cables.com/${locale}/contact`,
|
||||
languages: {
|
||||
@@ -34,8 +36,8 @@ export async function generateMetadata({ params: { locale } }: ContactPageProps)
|
||||
},
|
||||
},
|
||||
openGraph: {
|
||||
title: `${t('title')} | KLZ Cables`,
|
||||
description: t('subtitle'),
|
||||
title: `${title} | KLZ Cables`,
|
||||
description,
|
||||
url: `https://klz-cables.com/${locale}/contact`,
|
||||
siteName: 'KLZ Cables',
|
||||
images: [
|
||||
@@ -51,8 +53,8 @@ export async function generateMetadata({ params: { locale } }: ContactPageProps)
|
||||
},
|
||||
twitter: {
|
||||
card: 'summary_large_image',
|
||||
title: `${t('title')} | KLZ Cables`,
|
||||
description: t('subtitle'),
|
||||
title: `${title} | KLZ Cables`,
|
||||
description,
|
||||
images: ['https://klz-cables.com/logo.png'],
|
||||
},
|
||||
robots: {
|
||||
|
||||
@@ -38,22 +38,22 @@ export default function HomePage({ params: { locale } }: { params: { locale: str
|
||||
}
|
||||
|
||||
export async function generateMetadata({ params: { locale } }: { params: { locale: string } }): Promise<Metadata> {
|
||||
// Use translations for meta where available (namespace: Home.meta)
|
||||
// Use translations for meta where available (namespace: Index.meta)
|
||||
// Fallback to a sensible default if translation keys are missing.
|
||||
let t;
|
||||
try {
|
||||
t = await getTranslations({ locale, namespace: 'Home.meta' });
|
||||
t = await getTranslations({ locale, namespace: 'Index.meta' });
|
||||
} catch (err) {
|
||||
// If translations for Home.meta are not present, try generic Home namespace
|
||||
// If translations for Index.meta are not present, try generic Index namespace
|
||||
try {
|
||||
t = await getTranslations({ locale, namespace: 'Home' });
|
||||
t = await getTranslations({ locale, namespace: 'Index' });
|
||||
} catch (e) {
|
||||
t = (key: string) => '';
|
||||
}
|
||||
}
|
||||
|
||||
const title = t('title') || 'KLZ Cables';
|
||||
const description = t('description') || t('subtitle') || '';
|
||||
const description = t('description') || '';
|
||||
|
||||
return {
|
||||
title,
|
||||
|
||||
@@ -15,9 +15,11 @@ interface ProductsPageProps {
|
||||
|
||||
export async function generateMetadata({ params: { locale } }: ProductsPageProps): Promise<Metadata> {
|
||||
const t = await getTranslations({ locale, namespace: 'Products' });
|
||||
const title = t('meta.title') || t('title');
|
||||
const description = t('meta.description') || t('subtitle');
|
||||
return {
|
||||
title: t('title'),
|
||||
description: t('subtitle'),
|
||||
title,
|
||||
description,
|
||||
alternates: {
|
||||
canonical: `/${locale}/products`,
|
||||
languages: {
|
||||
@@ -27,14 +29,14 @@ export async function generateMetadata({ params: { locale } }: ProductsPageProps
|
||||
},
|
||||
},
|
||||
openGraph: {
|
||||
title: `${t('title')} | KLZ Cables`,
|
||||
description: t('subtitle'),
|
||||
title: `${title} | KLZ Cables`,
|
||||
description,
|
||||
url: `https://klz-cables.com/${locale}/products`,
|
||||
},
|
||||
twitter: {
|
||||
card: 'summary_large_image',
|
||||
title: `${t('title')} | KLZ Cables`,
|
||||
description: t('subtitle'),
|
||||
title: `${title} | KLZ Cables`,
|
||||
description,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,9 +15,11 @@ interface TeamPageProps {
|
||||
|
||||
export async function generateMetadata({ params: { locale } }: TeamPageProps): Promise<Metadata> {
|
||||
const t = await getTranslations({ locale, namespace: 'Team' });
|
||||
const title = t('meta.title') || t('hero.subtitle');
|
||||
const description = t('meta.description') || t('hero.title');
|
||||
return {
|
||||
title: t('hero.subtitle'),
|
||||
description: t('hero.title'),
|
||||
title,
|
||||
description,
|
||||
alternates: {
|
||||
canonical: `/${locale}/team`,
|
||||
languages: {
|
||||
@@ -27,14 +29,14 @@ export async function generateMetadata({ params: { locale } }: TeamPageProps): P
|
||||
},
|
||||
},
|
||||
openGraph: {
|
||||
title: `${t('hero.subtitle')} | KLZ Cables`,
|
||||
description: t('hero.title'),
|
||||
title: `${title} | KLZ Cables`,
|
||||
description,
|
||||
url: `https://klz-cables.com/${locale}/team`,
|
||||
},
|
||||
twitter: {
|
||||
card: 'summary_large_image',
|
||||
title: `${t('hero.subtitle')} | KLZ Cables`,
|
||||
description: t('hero.title'),
|
||||
title: `${title} | KLZ Cables`,
|
||||
description,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -89,6 +89,10 @@
|
||||
"tagline": "Wegweisend in der Kabelinfrastruktur und bei nachhaltigen Energielösungen. Qualität, Innovation und Zuverlässigkeit seit 1998."
|
||||
},
|
||||
"Team": {
|
||||
"meta": {
|
||||
"title": "Unser Team | Die Experten hinter KLZ Cables",
|
||||
"description": "Lernen Sie die Menschen kennen, die KLZ Cables antreiben. Jahrzehntelange Erfahrung in der Kabelindustrie trifft auf innovative Lösungen für die Energiewende."
|
||||
},
|
||||
"hero": {
|
||||
"title": "Die Köpfe, die Energie zum Laufen bringen",
|
||||
"subtitle": "Wir verbinden Energie, Know-how und Innovation, um eine nachhaltigere Zukunft zu gestalten.",
|
||||
@@ -155,6 +159,10 @@
|
||||
}
|
||||
},
|
||||
"Contact": {
|
||||
"meta": {
|
||||
"title": "Kontaktieren Sie KLZ Cables | Ihr Partner für Kabelinfrastruktur",
|
||||
"description": "Haben Sie Fragen zu unseren Strom- oder Solarkabeln? Kontaktieren Sie unser Expertenteam für technische Beratung und maßgeschneiderte Lösungen."
|
||||
},
|
||||
"title": "Kontaktieren Sie uns",
|
||||
"subtitle": "Haben Sie Fragen zu unseren Produkten oder benötigen Sie eine maßgeschneiderte Lösung? Wir sind für Sie da.",
|
||||
"heroSubtitle": "Kontakt aufnehmen",
|
||||
@@ -187,6 +195,10 @@
|
||||
}
|
||||
},
|
||||
"Products": {
|
||||
"meta": {
|
||||
"title": "Produktportfolio | Hochwertige Kabel für jede Anwendung",
|
||||
"description": "Entdecken Sie unser umfassendes Sortiment an zertifizierten Kabeln: von Niederspannung über Mittel- und Hochspannung bis hin zu spezialisierten Solarkabeln."
|
||||
},
|
||||
"title": "Unsere Produkte",
|
||||
"subtitle": "Entdecken Sie unser umfassendes Sortiment an hochwertigen Kabeln für jede Anwendung.",
|
||||
"heroSubtitle": "Produktportfolio",
|
||||
|
||||
@@ -89,6 +89,10 @@
|
||||
"tagline": "Leading the way in cable infrastructure and sustainable energy solutions. Quality, innovation, and reliability since 1998."
|
||||
},
|
||||
"Team": {
|
||||
"meta": {
|
||||
"title": "Our Team | The Experts Behind KLZ Cables",
|
||||
"description": "Meet the people driving KLZ Cables. Decades of experience in the cable industry meets innovative solutions for the energy transition."
|
||||
},
|
||||
"hero": {
|
||||
"title": "The bright sparks behind the power",
|
||||
"subtitle": "We connect energy, expertise, and innovation to power a greener future.",
|
||||
@@ -155,6 +159,10 @@
|
||||
}
|
||||
},
|
||||
"Contact": {
|
||||
"meta": {
|
||||
"title": "Contact KLZ Cables | Your Partner for Cable Infrastructure",
|
||||
"description": "Have questions about our power or solar cables? Contact our expert team for technical advice and tailor-made solutions."
|
||||
},
|
||||
"title": "Get in Touch",
|
||||
"subtitle": "Have questions about our products or need a custom solution? We're here to help.",
|
||||
"heroSubtitle": "Get in Touch",
|
||||
@@ -187,6 +195,10 @@
|
||||
}
|
||||
},
|
||||
"Products": {
|
||||
"meta": {
|
||||
"title": "Product Portfolio | High-Quality Cables for Every Application",
|
||||
"description": "Explore our comprehensive range of certified cables: from low voltage to medium and high voltage, as well as specialized solar cables."
|
||||
},
|
||||
"title": "Our Products",
|
||||
"subtitle": "Explore our comprehensive range of high-quality cables designed for every application.",
|
||||
"heroSubtitle": "Product Portfolio",
|
||||
|
||||
Reference in New Issue
Block a user