Skip to content

Commit 94dfee4

Browse files
ericyangpanclaude
andcommitted
feat(data): update manifests and generated metadata
- Update manifests/collections.json with latest data - Regenerate all generated files in src/lib/generated/ - Update page files to use new i18n namespace structure - Ensure consistency between data and page components Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 3338e50 commit 94dfee4

File tree

27 files changed

+3395
-123
lines changed

27 files changed

+3395
-123
lines changed

manifests/collections.json

Lines changed: 1488 additions & 66 deletions
Large diffs are not rendered by default.

src/app/[locale]/ai-coding-landscape/page.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ import { buildTitle, generateStaticPageMetadata } from '@/lib/metadata'
1010

1111
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }) {
1212
const { locale } = await params
13-
const tPage = await getTranslations({ locale, namespace: 'pages.landscape' })
13+
const tShared = await getTranslations({ locale, namespace: 'shared' })
1414

15-
const title = buildTitle({ title: tPage('title') })
16-
const description = tPage('description')
15+
const title = buildTitle({ title: tShared('terms.landscapeTitle') })
16+
const description = tShared('terms.landscapeDescription')
1717

1818
return generateStaticPageMetadata({
1919
locale: locale as Locale,
@@ -32,7 +32,7 @@ type Props = {
3232

3333
export default async function Page({ params }: Props) {
3434
const { locale } = await params
35-
const tPage = await getTranslations({ locale, namespace: 'pages.landscape' })
35+
const tShared = await getTranslations({ locale, namespace: 'shared' })
3636

3737
// Build vendor matrix data
3838
const matrixData = buildVendorMatrix()
@@ -41,13 +41,16 @@ export default async function Page({ params }: Props) {
4141
<>
4242
<Header />
4343
<main className="max-w-8xl mx-auto px-[var(--spacing-md)] pt-[var(--spacing-lg)]">
44-
<PageHeader title={tPage('title')} subtitle={tPage('description')} />
44+
<PageHeader
45+
title={tShared('terms.landscapeTitle')}
46+
subtitle={tShared('terms.landscapeDescription')}
47+
/>
4548

4649
{/* Vendor Matrix */}
4750
<VendorMatrix matrixData={matrixData} />
4851

4952
{/* Back to Overview */}
50-
<BackToNavigation href="/ai-coding-stack" title={tPage('backToOverview')} />
53+
<BackToNavigation href="/ai-coding-stack" title={tShared('terms.aiCodingStack')} />
5154
</main>
5255
<Footer />
5356
</>

src/app/[locale]/ai-coding-stack/page.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@ import type { LocalePageProps } from '@/types/locale'
99

1010
export async function generateMetadata({ params }: LocalePageProps) {
1111
const { locale } = await params
12-
const tPage = await getTranslations({ locale, namespace: 'pages.stacksOverview' })
1312
const tShared = await getTranslations({ locale, namespace: 'shared' })
1413

1514
const title = buildTitle({ title: tShared('terms.aiCodingStack') })
16-
const description = tPage('subtitle')
15+
const description = tShared('terms.ecosystemSubtitle')
1716

1817
return generateStaticPageMetadata({
1918
locale: locale as Locale,
@@ -36,7 +35,10 @@ export default async function AICodingStackPage({ params }: LocalePageProps) {
3635
<Header />
3736

3837
<main className="max-w-8xl mx-auto px-[var(--spacing-md)] py-[var(--spacing-lg)]">
39-
<PageHeader title={tShared('terms.aiCodingStack')} subtitle={tPage('subtitle')} />
38+
<PageHeader
39+
title={tShared('terms.aiCodingStack')}
40+
subtitle={tShared('terms.ecosystemSubtitle')}
41+
/>
4042

4143
{/* Stacks Grid */}
4244
<div className="grid grid-cols-1 md:grid-cols-3 gap-[var(--spacing-md)]">

src/app/[locale]/clis/comparison/page.client.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ export default function CLIComparisonPageClient({ locale: _locale }: Props) {
304304
items={clis as unknown as Record<string, unknown>[]}
305305
columns={columns}
306306
itemLinkPrefix={`/clis`}
307-
nameColumnLabel={tPage('columns.name')}
307+
nameColumnLabel={tShared('labels.name')}
308308
/>
309309
</div>
310310
</section>

src/app/[locale]/extensions/comparison/page.client.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ export default function ExtensionComparisonPageClient({ locale: _locale }: Props
290290
items={extensions as unknown as Record<string, unknown>[]}
291291
columns={columns}
292292
itemLinkPrefix={`/extensions`}
293-
nameColumnLabel={tPage('columns.name')}
293+
nameColumnLabel={tShared('labels.name')}
294294
/>
295295
</div>
296296
</section>

src/app/[locale]/ides/comparison/page.client.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ export default function IDEComparisonPageClient({ locale: _locale }: Props) {
304304
items={ides as unknown as Record<string, unknown>[]}
305305
columns={columns}
306306
itemLinkPrefix={`/ides`}
307-
nameColumnLabel={tPage('columns.name')}
307+
nameColumnLabel={tShared('labels.name')}
308308
/>
309309
</div>
310310
</section>

src/app/[locale]/manifesto/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export default async function ManifestoPage({ params }: LocalePageProps) {
5252
{tShared('terms.aiCodingStack')}
5353
</h2>
5454
<p className="text-sm text-[var(--color-text-secondary)]">
55-
{tPage('exploreStack.subtitle')}
55+
{tShared('terms.ecosystemSubtitle')}
5656
</p>
5757
</div>
5858
<span className="text-4xl text-[var(--color-text-muted)] group-hover:text-[var(--color-text)] group-hover:translate-x-2 transition-all">

src/app/[locale]/model-providers/page.client.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ export default function ModelProvidersPageClient({ locale }: Props) {
8080
type="text"
8181
value={searchQuery}
8282
onChange={e => setSearchQuery(e.target.value)}
83-
placeholder={tPage('search') || 'Search by name...'}
83+
placeholder={tShared('labels.searchByName')}
8484
className="w-full max-w-2xs px-[var(--spacing-sm)] py-1 text-sm border border-[var(--color-border)] bg-[var(--color-background)] text-[var(--color-text)] placeholder:text-[var(--color-text-muted)] focus:outline-none focus:border-[var(--color-border-strong)] transition-colors"
8585
/>
8686
</div>

src/app/[locale]/models/[slug]/page.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ export default async function ModelPage({
6666
notFound()
6767
}
6868

69-
const tPage = await getTranslations({ locale, namespace: 'pages.modelDetail' })
7069
const tShared = await getTranslations({ locale, namespace: 'shared' })
7170

7271
// Generate JSON-LD schema
@@ -90,7 +89,10 @@ export default async function ModelPage({
9089
// Build additional info for ProductHero
9190
const additionalInfo = [
9291
model.size && { label: tShared('terms.modelSize'), value: model.size },
93-
{ label: tPage('contextWindow'), value: `${model.contextWindow.toLocaleString()} tokens` },
92+
{
93+
label: tShared('terms.contextWindow'),
94+
value: `${model.contextWindow.toLocaleString()} tokens`,
95+
},
9496
{ label: tShared('terms.maxOutput'), value: `${model.maxOutput.toLocaleString()} tokens` },
9597
].filter(Boolean) as { label: string; value: string }[]
9698

src/app/[locale]/models/compare/[models]/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,8 @@ export default async function ComparePage({
124124
const { locale, models } = await params
125125
const modelIds = parseModelsParam(models)
126126

127-
const tPage = await getTranslations({ locale, namespace: 'pages.modelCompare' })
128127
const tComparison = await getTranslations({ locale, namespace: 'pages.comparison' })
128+
const tShared = await getTranslations({ locale, namespace: 'shared' })
129129

130130
const comparisonModels: ManifestModel[] = []
131131
let pageTitle = tComparison('models.title')
@@ -169,7 +169,7 @@ export default async function ComparePage({
169169
locale={locale as Locale}
170170
/>
171171

172-
<BackToNavigation href="/models" title={tPage('allModels')} />
172+
<BackToNavigation href="/models" title={tShared('categories.all.models')} />
173173
</main>
174174
</PageLayout>
175175
)

0 commit comments

Comments
 (0)