diff --git a/data/data-health.json b/data/data-health.json
index 534f249d..5f8e38c3 100644
--- a/data/data-health.json
+++ b/data/data-health.json
@@ -73,59 +73,59 @@
},
"translationsByLocale": {
"de": {
- "totalStrings": 411,
+ "totalStrings": 416,
"matchingEnglish": 113,
- "matchingEnglishPercent": 27.5
+ "matchingEnglishPercent": 27.2
},
"es": {
- "totalStrings": 411,
+ "totalStrings": 416,
"matchingEnglish": 104,
- "matchingEnglishPercent": 25.3
+ "matchingEnglishPercent": 25
},
"fr": {
- "totalStrings": 411,
+ "totalStrings": 416,
"matchingEnglish": 115,
- "matchingEnglishPercent": 28
+ "matchingEnglishPercent": 27.6
},
"id": {
- "totalStrings": 411,
+ "totalStrings": 416,
"matchingEnglish": 149,
- "matchingEnglishPercent": 36.3
+ "matchingEnglishPercent": 35.8
},
"ja": {
- "totalStrings": 411,
+ "totalStrings": 416,
"matchingEnglish": 107,
- "matchingEnglishPercent": 26
+ "matchingEnglishPercent": 25.7
},
"ko": {
- "totalStrings": 411,
+ "totalStrings": 416,
"matchingEnglish": 115,
- "matchingEnglishPercent": 28
+ "matchingEnglishPercent": 27.6
},
"pt": {
- "totalStrings": 411,
+ "totalStrings": 416,
"matchingEnglish": 114,
- "matchingEnglishPercent": 27.7
+ "matchingEnglishPercent": 27.4
},
"ru": {
- "totalStrings": 411,
+ "totalStrings": 416,
"matchingEnglish": 124,
- "matchingEnglishPercent": 30.2
+ "matchingEnglishPercent": 29.8
},
"tr": {
- "totalStrings": 411,
+ "totalStrings": 416,
"matchingEnglish": 125,
- "matchingEnglishPercent": 30.4
+ "matchingEnglishPercent": 30
},
"zh-Hans": {
- "totalStrings": 411,
+ "totalStrings": 416,
"matchingEnglish": 98,
- "matchingEnglishPercent": 23.8
+ "matchingEnglishPercent": 23.6
},
"zh-Hant": {
- "totalStrings": 411,
+ "totalStrings": 416,
"matchingEnglish": 98,
- "matchingEnglishPercent": 23.8
+ "matchingEnglishPercent": 23.6
}
},
"issues": [
diff --git a/docs/DATA-HEALTH.md b/docs/DATA-HEALTH.md
index 243cf0c4..4c302e52 100644
--- a/docs/DATA-HEALTH.md
+++ b/docs/DATA-HEALTH.md
@@ -37,17 +37,17 @@ Exact English matches are a triage signal; product names and technical terms can
| Locale | Comparable strings | Exact English matches | Match rate |
| --- | ---: | ---: | ---: |
-| de | 411 | 113 | 27.5% |
-| es | 411 | 104 | 25.3% |
-| fr | 411 | 115 | 28% |
-| id | 411 | 149 | 36.3% |
-| ja | 411 | 107 | 26% |
-| ko | 411 | 115 | 28% |
-| pt | 411 | 114 | 27.7% |
-| ru | 411 | 124 | 30.2% |
-| tr | 411 | 125 | 30.4% |
-| zh-Hans | 411 | 98 | 23.8% |
-| zh-Hant | 411 | 98 | 23.8% |
+| de | 416 | 113 | 27.2% |
+| es | 416 | 104 | 25% |
+| fr | 416 | 115 | 27.6% |
+| id | 416 | 149 | 35.8% |
+| ja | 416 | 107 | 25.7% |
+| ko | 416 | 115 | 27.6% |
+| pt | 416 | 114 | 27.4% |
+| ru | 416 | 124 | 29.8% |
+| tr | 416 | 125 | 30% |
+| zh-Hans | 416 | 98 | 23.6% |
+| zh-Hant | 416 | 98 | 23.6% |
## Backlog by Issue Type
diff --git a/docs/SEO-SEARCH-OPPORTUNITY-MAP.md b/docs/SEO-SEARCH-OPPORTUNITY-MAP.md
new file mode 100644
index 00000000..2aaca42b
--- /dev/null
+++ b/docs/SEO-SEARCH-OPPORTUNITY-MAP.md
@@ -0,0 +1,101 @@
+# Organic Search Opportunity Map
+
+**Measurement window:** April 27–July 26, 2026
+
+**Search market:** Google, English-led with localized landing pages
+
+**Primary goal:** Increase non-brand impressions, top-10 rankings, and organic click-through rate
+
+## Search Performance Baseline
+
+Google Search Console reported:
+
+| Metric | Value |
+|---|---:|
+| Clicks | 2 |
+| Impressions | 601 |
+| Click-through rate | 0.3% |
+| Average position | 39.2 |
+
+The strongest existing landing pages were:
+
+| Landing page | Clicks | Impressions | Average position | Opportunity |
+|---|---:|---:|---:|---|
+| `/models` | 1 | 67 | 13.5 | Highest-priority striking-distance page |
+| `/model-providers` | 0 | 16 | 14.3 | Striking-distance category page |
+| `/` | 1 | 46 | 36.3 | Broad discovery page |
+| `/zh-Hant/ides/vscode` | 0 | 108 | 32.6 | High-impression product page |
+| `/ides/kiro` | 0 | 77 | 59.8 | Brand/product content opportunity |
+| `/zh-Hant/vendors/xai` | 0 | 29 | 33.8 | Brand/vendor content opportunity |
+
+## Keyword-to-Landing-Page Map
+
+Search volume is marked `N/A` because no reliable keyword-volume provider was available. Search Console impressions are first-party observations, not monthly search volume.
+
+| Search theme | Observed queries | Intent | Measured signal | Target landing page | Action |
+|---|---|---|---|---|---|
+| AI coding models | `AI coding models`, `LLM for coding`, model names | Commercial investigation | `/models`: 67 impressions, position 13.5 | `/models` | Improve title, description, comparison guidance, and links to model comparison/providers |
+| Model API providers | `model provider`, `LLM API provider` | Commercial investigation | `/model-providers`: 16 impressions, position 14.3 | `/model-providers` | Expand comparison criteria and provider-selection guidance |
+| VS Code with AI | `vscode ai` (69 impressions), `visual code ai ide` (12) | Product discovery | Query positions 24.7 and 19.4 | `/ides/vscode` and localized equivalents | Add AI feature coverage and clarify the relationship between VS Code and AI extensions |
+| Codex CLI | `codex cli` (8 impressions), `codex-cli`, `does codex have a cli` | Navigational and informational | Positions 14.9–16.0 | `/clis/codex-cli` | Add a direct answer, setup overview, supported workflows, and official-source references |
+| Kiro IDE | `aws kiro` (18), `kiro ai` (17), `kiro ide` (13), `kiro aws` (10) | Product discovery | Positions 53.9–68.7 | `/ides/kiro` | Expand AWS/Kiro entity context, use cases, pricing, and comparison links |
+| AI coding tools | `aicoding`, `ai coding stack`, `coding stack` | Broad discovery | Homepage: 46 impressions, position 36.3 | `/` | Target directory and comparison intent in the title and description |
+| AI coding stack | `ai coding stack`, `coding stack` | Category education | Query positions 40.0–53.7 | `/ai-coding-stack` | Keep as the ecosystem/category architecture page to avoid homepage cannibalization |
+| OpenCode | `open code`, `opencode` | Navigational | Positions 9.0–10.0 | Relevant OpenCode detail page | Preserve exact entity naming and strengthen internal links |
+
+## SERP and Content-Gap Findings
+
+For broad commercial searches, current results are dominated by dated, comparison-led pages with a quick answer, consistent evaluation criteria, pricing, best-fit guidance, trade-offs, and a comparison table. Representative results include:
+
+- [Every AI Coding Tool Compared: The 2026 Matrix](https://www.developersdigest.tech/blog/ai-coding-tools-comparison-matrix-2026)
+- [The Best AI Coding Assistants in 2026, Compared](https://daily.dev/blog/best-ai-coding-assistants-comparison/)
+- [The 9 best AI coding tools in 2026](https://zapier.com/blog/ai-coding-tools/)
+- [Best LLM for Coding in 2026: Ranked by Benchmarks](https://www.tembo.io/blog/best-llm-for-coding)
+
+AI Coding Stack has stronger structured catalog data than many editorial competitors, but its category pages provide less decision guidance. The defensible gap is a source-backed comparison layer built on the existing manifests:
+
+1. Define stable comparison criteria for each category.
+2. Explain which fields matter for different workflows.
+3. Link category guidance to the existing comparison tools and verified detail pages.
+4. Publish recommendation content only when the supporting data and methodology are explicit.
+
+## Prioritized Work
+
+| Priority | Work item | Rationale | Status |
+|---|---|---|---|
+| P0 | Remove repeated brand names and excessive examples from page titles | Existing list titles exceed normal snippet length and repeat `AI Coding Stack` | Implemented in working tree |
+| P0 | Optimize `/models` for comparison intent | It is the strongest striking-distance page | Implemented in working tree |
+| P0 | Complete `/models/compare` metadata | The comparison route lacked canonical, hreflang, robots, and complete social metadata | Implemented in working tree |
+| P0 | Reposition homepage metadata around “AI coding tools directory and comparisons” | Aligns the broad landing page with non-brand discovery intent | Implemented in working tree |
+| P1 | Expand `/model-providers` selection guidance | Average position 14.3 indicates near-term potential | Planned |
+| P1 | Expand `/clis/codex-cli` with a direct answer and setup coverage | Multiple queries rank between positions 14.9 and 16.0 | Planned |
+| P1 | Expand `/ides/vscode` for “VS Code AI” intent | Highest observed product-query impressions | Planned |
+| P1 | Expand `/ides/kiro` for AWS/Kiro entity coverage | Multiple related queries already receive impressions | Planned |
+| P2 | Create a source-backed cross-category comparison guide | Broad SERPs reward tested comparison and best-fit guidance | Planned |
+
+## On-Page Audit: `/models`
+
+The baseline score applies the repository's weighted on-page rubric to the production page observed during the measurement period. The working-tree score reflects the implemented metadata and guidance changes; production scoring remains unchanged until deployment.
+
+| Section | Weight | Baseline | Working tree | Finding |
+|---|---:|---:|---:|---|
+| Title tag | 15 | 4 | 14 | Baseline title was long, stale, and repeated the brand; working title is concise and localized |
+| Meta description | 5 | 2 | 5 | Baseline description was too short; working description explains comparison criteria |
+| Header structure | 10 | 8 | 9 | One H1 and lifecycle H2s; working tree adds a descriptive comparison H2 |
+| Content quality | 25 | 12 | 17 | Catalog data is useful; working tree adds decision guidance but is not yet a full editorial guide |
+| Keyword optimization | 15 | 9 | 13 | Working copy covers coding models, context, pricing, lifecycle, providers, and comparison |
+| Internal/external links | 10 | 8 | 9 | Working tree adds contextual links to comparison and provider pages |
+| Image optimization | 10 | 10 | 10 | The catalog does not depend on content images; route-level social imagery is separate |
+| Page-level technical | 10 | 9 | 10 | Canonical and locale alternates remain intact; the comparison destination now receives complete metadata |
+| **Overall** | **100** | **62 (C)** | **87 (A)** | Production changes after the GitHub Actions deployment |
+
+## Measurement Plan
+
+After deployment, compare 28-day periods in Search Console:
+
+- `/models`: impressions, CTR, and average position
+- `/models/compare`: indexed state and query discovery
+- Homepage: non-brand impressions for AI coding tool terms
+- `/clis/codex-cli`, `/ides/vscode`, and `/ides/kiro`: query-level position and CTR
+
+The first decision threshold is movement into positions 4–10 for `/models`. The next content batch should use the first 28 days of post-deployment data rather than assumed keyword volume.
diff --git a/src/app/[locale]/models/compare/page.tsx b/src/app/[locale]/models/compare/page.tsx
index f85c4c20..d88bbd1c 100644
--- a/src/app/[locale]/models/compare/page.tsx
+++ b/src/app/[locale]/models/compare/page.tsx
@@ -4,6 +4,7 @@ import PageHeader from '@/components/PageHeader'
import type { Locale } from '@/i18n/config'
import { PageLayout } from '@/layouts/PageLayout'
import { modelsData as allModels } from '@/lib/generated'
+import { generateStaticPageMetadata } from '@/lib/metadata'
import type { ManifestModel } from '@/types/manifests'
import ComparisonPageClient from './[models]/page.client'
@@ -17,15 +18,15 @@ export async function generateMetadata({ params }: { params: Promise<{ locale: s
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'pages.comparison' })
- return {
- title: t('models.title'),
+ return generateStaticPageMetadata({
+ locale: locale as Locale,
+ basePath: 'models/compare',
+ title: `${t('models.title')} ${new Date().getUTCFullYear()}`,
description: t('models.subtitle'),
- openGraph: {
- title: t('models.title'),
- description: t('models.subtitle'),
- type: 'website',
- },
- }
+ keywords:
+ 'AI coding model comparison, compare coding LLMs, LLM pricing comparison, context window comparison',
+ ogType: 'website',
+ })
}
export default async function ComparePage({ params }: { params: Promise<{ locale: string }> }) {
diff --git a/src/app/[locale]/models/page.client.tsx b/src/app/[locale]/models/page.client.tsx
index 68406e1e..543ff20a 100644
--- a/src/app/[locale]/models/page.client.tsx
+++ b/src/app/[locale]/models/page.client.tsx
@@ -109,6 +109,29 @@ export default function ModelsPageClient({ locale }: Props) {
+
+
+ {tPage('guide.title')}
+
+
+ {tPage('guide.description')}
+
+
+
+ {tPage('guide.compareModels')} →
+
+
+ {tPage('guide.exploreProviders')} →
+
+
+
+
{/* Search Box */}
0) {
- parts.push(METADATA_DEFAULTS.listSeparator)
- parts.push(examples.join(', '))
- }
-
- parts.push(METADATA_DEFAULTS.titleSeparator)
- parts.push(METADATA_DEFAULTS.siteName)
+export function buildListPageTitle(options: { translatedTitle: string; year?: number }): string {
+ const { translatedTitle, year = METADATA_DEFAULTS.currentYear } = options
- return parts.join(' ').replace(/\s+/g, ' ') // Clean up multiple spaces
+ // The locale layout appends the site name through its title template.
+ // Keep the page-specific title concise so search results do not repeat the
+ // brand or truncate the primary query.
+ return `${translatedTitle} ${year}`
}
/**
diff --git a/tests/metadata.generators.test.ts b/tests/metadata.generators.test.ts
index 813353fa..7aadd488 100644
--- a/tests/metadata.generators.test.ts
+++ b/tests/metadata.generators.test.ts
@@ -1,5 +1,7 @@
import { describe, expect, it } from 'vitest'
import {
+ buildListPageTitle,
+ buildTitle,
generateArticleMetadata,
generateComparisonMetadata,
generateDocsMetadata,
@@ -9,6 +11,21 @@ import {
generateStaticPageMetadata,
} from '@/lib/metadata'
+describe('Metadata title helpers', () => {
+ it('leaves the site name to the root layout title template by default', () => {
+ expect(buildTitle({ title: 'AI Coding Models' })).toBe('AI Coding Models')
+ })
+
+ it('builds a concise localized list title without examples or a repeated brand', () => {
+ expect(
+ buildListPageTitle({
+ translatedTitle: 'AI Coding Models',
+ year: 2026,
+ })
+ ).toBe('AI Coding Models 2026')
+ })
+})
+
/**
* Test suite to verify metadata generators produce correct structure
* after refactoring to use common buildMetadataWithSocial pipeline
diff --git a/translations/de/pages/home.json b/translations/de/pages/home.json
index 3d0d22ff..962ea2f1 100644
--- a/translations/de/pages/home.json
+++ b/translations/de/pages/home.json
@@ -22,7 +22,7 @@
},
"meta": {
"description": "Umfassendes Verzeichnis für AI-Coding-Tools. Entdecken, vergleichen und erkunden Sie IDEs, CLIs, Erweiterungen, Modelle und Anbieter.",
- "title": "AI Coding Stack - Ihr AI-Coding-Ökosystem-Hub"
+ "title": "Verzeichnis und Vergleich von AI-Coding-Tools"
},
"readDocs": "Dokumentation Lesen",
"subtitle": "Entdecken, Vergleichen, Schneller Entwickeln.",
diff --git a/translations/de/pages/models.json b/translations/de/pages/models.json
index 344edd1d..44411f95 100644
--- a/translations/de/pages/models.json
+++ b/translations/de/pages/models.json
@@ -1,8 +1,17 @@
{
"context": "Kontext:",
+ "guide": {
+ "compareModels": "Modelle direkt vergleichen",
+ "description": "Vergleichen Sie Coding-Modelle nach Kontextfenster, Tokenpreisen, Lebenszyklus und Anbieter. Nutzen Sie den direkten Vergleich für detaillierte Spezifikationen und prüfen Sie anschließend die API-Anbieter auf Modellverfügbarkeit.",
+ "exploreProviders": "Modellanbieter entdecken",
+ "title": "So vergleichen Sie AI-Coding-Modelle"
+ },
"lifecycle": {
"noResults": "Keine {lifecycle} Modelle entsprechen Ihrer Suche"
},
+ "meta": {
+ "description": "Vergleichen Sie AI-Coding-Modelle nach Kontextfenster, Tokenpreisen, Lebenszyklus und Anbieter. Entdecken Sie aktuelle Coding-LLMs führender Modellentwickler."
+ },
"pricing": "Preise:",
"size": "Größe:",
"subtitle": "Große Sprachmodelle optimiert für Code-Generierung und Analyse",
diff --git a/translations/en/pages/home.json b/translations/en/pages/home.json
index b777cc7f..a40a33a7 100644
--- a/translations/en/pages/home.json
+++ b/translations/en/pages/home.json
@@ -22,7 +22,7 @@
},
"meta": {
"description": "Comprehensive directory for AI coding tools. Discover, compare and explore IDEs, CLIs, extensions, models and providers.",
- "title": "AI Coding Stack - Your AI Coding Ecosystem Hub"
+ "title": "AI Coding Tools Directory & Comparisons"
},
"readDocs": "Read Documentation",
"subtitle": "Discover, Compare, Build Faster.",
diff --git a/translations/en/pages/models.json b/translations/en/pages/models.json
index b736ef28..3b275f6f 100644
--- a/translations/en/pages/models.json
+++ b/translations/en/pages/models.json
@@ -1,8 +1,17 @@
{
"context": "Context:",
+ "guide": {
+ "compareModels": "Compare models side by side",
+ "description": "Compare coding models by context window, token pricing, lifecycle, and provider. Use the side-by-side comparison for detailed specifications, then review API providers for model availability.",
+ "exploreProviders": "Explore model providers",
+ "title": "How to compare AI coding models"
+ },
"lifecycle": {
"noResults": "No {lifecycle} models match your search"
},
+ "meta": {
+ "description": "Compare AI coding models by context window, token pricing, lifecycle, and provider. Explore current coding LLMs from leading model developers."
+ },
"pricing": "Pricing:",
"size": "Size:",
"subtitle": "Large language models optimized for code generation and analysis",
diff --git a/translations/es/pages/home.json b/translations/es/pages/home.json
index 7f7d03af..410fcc1b 100644
--- a/translations/es/pages/home.json
+++ b/translations/es/pages/home.json
@@ -22,7 +22,7 @@
},
"meta": {
"description": "Directorio completo para herramientas de codificación con IA. Descubre, compara y explora IDEs, CLIs, extensiones, modelos y proveedores.",
- "title": "AI Coding Stack - Tu centro del ecosistema de codificación con IA"
+ "title": "Directorio y comparación de herramientas de IA"
},
"readDocs": "Leer documentación",
"subtitle": "Descubre, compara, construye más rápido.",
diff --git a/translations/es/pages/models.json b/translations/es/pages/models.json
index b6c9c44f..f7d2b016 100644
--- a/translations/es/pages/models.json
+++ b/translations/es/pages/models.json
@@ -1,8 +1,17 @@
{
"context": "Contexto:",
+ "guide": {
+ "compareModels": "Comparar modelos en paralelo",
+ "description": "Compara modelos de codificación por ventana de contexto, precio por token, ciclo de vida y proveedor. Usa la comparación en paralelo para consultar especificaciones detalladas y revisa después los proveedores de API para conocer la disponibilidad.",
+ "exploreProviders": "Explorar proveedores de modelos",
+ "title": "Cómo comparar modelos de codificación con IA"
+ },
"lifecycle": {
"noResults": "Ningún modelo {lifecycle} coincide con tu búsqueda"
},
+ "meta": {
+ "description": "Compara modelos de codificación con IA por ventana de contexto, precio por token, ciclo de vida y proveedor. Explora LLM de código actuales de desarrolladores líderes."
+ },
"pricing": "Precios:",
"size": "Tamaño:",
"subtitle": "Modelos de lenguaje grandes optimizados para generación y análisis de código",
diff --git a/translations/fr/pages/home.json b/translations/fr/pages/home.json
index 4aaceb82..c55dccca 100644
--- a/translations/fr/pages/home.json
+++ b/translations/fr/pages/home.json
@@ -22,7 +22,7 @@
},
"meta": {
"description": "Répertoire complet des outils de codage IA. Découvrez, comparez et explorez les IDE, CLI, extensions, modèles et fournisseurs.",
- "title": "AI Coding Stack - Votre centre de l'écosystème de codage IA"
+ "title": "Répertoire et comparaison des outils de codage IA"
},
"readDocs": "Lire la documentation",
"subtitle": "Notre vision pour l'avenir du développement logiciel alimenté par l'IA",
diff --git a/translations/fr/pages/models.json b/translations/fr/pages/models.json
index 5fff144f..c982e7a8 100644
--- a/translations/fr/pages/models.json
+++ b/translations/fr/pages/models.json
@@ -1,8 +1,17 @@
{
"context": "Contexte :",
+ "guide": {
+ "compareModels": "Comparer les modèles côte à côte",
+ "description": "Comparez les modèles de codage selon la fenêtre de contexte, le prix des jetons, le cycle de vie et le fournisseur. Utilisez la comparaison côte à côte pour les spécifications détaillées, puis consultez les fournisseurs d’API pour connaître la disponibilité.",
+ "exploreProviders": "Explorer les fournisseurs de modèles",
+ "title": "Comment comparer les modèles de codage IA"
+ },
"lifecycle": {
"noResults": "Aucun modèle {lifecycle} ne correspond à votre recherche"
},
+ "meta": {
+ "description": "Comparez les modèles de codage IA par fenêtre de contexte, prix des jetons, cycle de vie et fournisseur. Explorez les LLM de code actuels des principaux développeurs."
+ },
"pricing": "Tarifs :",
"size": "Taille :",
"subtitle": "Grands modèles de langage optimisés pour la génération et l'analyse de code",
diff --git a/translations/id/pages/home.json b/translations/id/pages/home.json
index 60eec4db..8bd4b69f 100644
--- a/translations/id/pages/home.json
+++ b/translations/id/pages/home.json
@@ -22,7 +22,7 @@
},
"meta": {
"description": "Direktori komprehensif untuk alat coding AI. Temukan, bandingkan, dan jelajahi IDE, CLI, ekstensi, model, dan penyedia.",
- "title": "AI Coding Stack - Pusat Ekosistem Coding AI Anda"
+ "title": "Direktori dan Perbandingan Alat Coding AI"
},
"readDocs": "Baca Dokumentasi",
"subtitle": "Temukan, Bandingkan, Bangun Lebih Cepat.",
diff --git a/translations/id/pages/models.json b/translations/id/pages/models.json
index 2c2ab424..c85a59cf 100644
--- a/translations/id/pages/models.json
+++ b/translations/id/pages/models.json
@@ -1,8 +1,17 @@
{
"context": "Konteks:",
+ "guide": {
+ "compareModels": "Bandingkan model berdampingan",
+ "description": "Bandingkan model coding berdasarkan jendela konteks, harga token, siklus hidup, dan penyedia. Gunakan perbandingan berdampingan untuk spesifikasi terperinci, lalu tinjau penyedia API untuk ketersediaan model.",
+ "exploreProviders": "Jelajahi penyedia model",
+ "title": "Cara membandingkan model coding AI"
+ },
"lifecycle": {
"noResults": "Tidak ada model {lifecycle} yang cocok dengan pencarian Anda"
},
+ "meta": {
+ "description": "Bandingkan model coding AI berdasarkan jendela konteks, harga token, siklus hidup, dan penyedia. Jelajahi LLM coding terkini dari pengembang model terkemuka."
+ },
"pricing": "Harga:",
"size": "Ukuran:",
"subtitle": "Model bahasa besar yang dioptimalkan untuk generasi dan analisis kode",
diff --git a/translations/ja/pages/home.json b/translations/ja/pages/home.json
index 58bf7716..3ddc8948 100644
--- a/translations/ja/pages/home.json
+++ b/translations/ja/pages/home.json
@@ -22,7 +22,7 @@
},
"meta": {
"description": "AI コーディングツールの包括的なディレクトリ。IDE、CLI、拡張機能、モデル、プロバイダーを発見、比較、探索。",
- "title": "AI Coding Stack - あなたの AI コーディングエコシステムのハブ"
+ "title": "AI コーディングツールの比較・ディレクトリ"
},
"readDocs": "ドキュメントを読む",
"subtitle": "AI 対応ソフトウェア開発の未来へのビジョン",
diff --git a/translations/ja/pages/models.json b/translations/ja/pages/models.json
index 125485eb..8b249362 100644
--- a/translations/ja/pages/models.json
+++ b/translations/ja/pages/models.json
@@ -1,8 +1,17 @@
{
"context": "コンテキスト:",
+ "guide": {
+ "compareModels": "モデルを並べて比較",
+ "description": "コンテキストウィンドウ、トークン料金、ライフサイクル、プロバイダーでコーディングモデルを比較できます。詳細仕様は横並び比較で確認し、API プロバイダーでモデルの提供状況を確認してください。",
+ "exploreProviders": "モデルプロバイダーを見る",
+ "title": "AI コーディングモデルの比較方法"
+ },
"lifecycle": {
"noResults": "検索に一致する{lifecycle}モデルがありません"
},
+ "meta": {
+ "description": "AI コーディングモデルをコンテキストウィンドウ、トークン料金、ライフサイクル、プロバイダーで比較。主要開発元の最新コーディング LLM を探せます。"
+ },
"pricing": "価格:",
"size": "サイズ:",
"subtitle": "コード生成と分析に最適化された大規模言語モデル",
diff --git a/translations/ko/pages/home.json b/translations/ko/pages/home.json
index 5a131c8a..934ef685 100644
--- a/translations/ko/pages/home.json
+++ b/translations/ko/pages/home.json
@@ -22,7 +22,7 @@
},
"meta": {
"description": "AI 코딩 도구를 위한 포괄적인 디렉토리. IDE, CLI, 확장 프로그램, 모델, 제공업체를 발견, 비교 및 탐색하세요.",
- "title": "AI Coding Stack - 당신의 AI 코딩 생태계 허브"
+ "title": "AI 코딩 도구 디렉터리 및 비교"
},
"readDocs": "문서 읽기",
"subtitle": "AI 기반 소프트웨어 개발의 미래에 대한 비전",
diff --git a/translations/ko/pages/models.json b/translations/ko/pages/models.json
index 7cc6f426..b41c5db8 100644
--- a/translations/ko/pages/models.json
+++ b/translations/ko/pages/models.json
@@ -1,8 +1,17 @@
{
"context": "컨텍스트:",
+ "guide": {
+ "compareModels": "모델 나란히 비교",
+ "description": "컨텍스트 창, 토큰 가격, 수명 주기, 제공자별로 코딩 모델을 비교하세요. 세부 사양은 나란히 비교에서 확인하고 API 제공자 페이지에서 모델 제공 여부를 살펴볼 수 있습니다.",
+ "exploreProviders": "모델 제공자 살펴보기",
+ "title": "AI 코딩 모델 비교 방법"
+ },
"lifecycle": {
"noResults": "검색과 일치하는{lifecycle} 모델이 없습니다"
},
+ "meta": {
+ "description": "AI 코딩 모델을 컨텍스트 창, 토큰 가격, 수명 주기, 제공자별로 비교하세요. 주요 모델 개발사의 최신 코딩 LLM을 살펴볼 수 있습니다."
+ },
"pricing": "가격:",
"size": "크기:",
"subtitle": "AI 코딩 모델의 사양과 가격을 나란히 비교하세요.",
diff --git a/translations/pt/pages/home.json b/translations/pt/pages/home.json
index 7c303725..764d0307 100644
--- a/translations/pt/pages/home.json
+++ b/translations/pt/pages/home.json
@@ -22,7 +22,7 @@
},
"meta": {
"description": "Diretório completo para ferramentas de codificação IA. Descubra, compare e explore IDEs, CLIs, extensões, modelos e provedores.",
- "title": "AI Coding Stack - Seu Centro de Ecossistema de Codificação IA"
+ "title": "Diretório e Comparação de Ferramentas de IA"
},
"readDocs": "Ler Documentação",
"subtitle": "Nossa visão para o futuro do desenvolvimento de software com IA",
diff --git a/translations/pt/pages/models.json b/translations/pt/pages/models.json
index f3df7180..65cbbb72 100644
--- a/translations/pt/pages/models.json
+++ b/translations/pt/pages/models.json
@@ -1,8 +1,17 @@
{
"context": "Contexto:",
+ "guide": {
+ "compareModels": "Comparar modelos lado a lado",
+ "description": "Compare modelos de codificação por janela de contexto, preço por token, ciclo de vida e provedor. Use a comparação lado a lado para ver especificações detalhadas e depois consulte os provedores de API para verificar a disponibilidade.",
+ "exploreProviders": "Explorar provedores de modelos",
+ "title": "Como comparar modelos de codificação IA"
+ },
"lifecycle": {
"noResults": "Nenhum modelo {lifecycle} corresponde à sua pesquisa"
},
+ "meta": {
+ "description": "Compare modelos de codificação IA por janela de contexto, preço por token, ciclo de vida e provedor. Explore LLMs de código atuais dos principais desenvolvedores."
+ },
"pricing": "Preços:",
"size": "Tamanho:",
"subtitle": "Modelos de linguagem grandes otimizados para geração e análise de código",
diff --git a/translations/ru/pages/home.json b/translations/ru/pages/home.json
index 2328a33d..ad8b6eb9 100644
--- a/translations/ru/pages/home.json
+++ b/translations/ru/pages/home.json
@@ -22,7 +22,7 @@
},
"meta": {
"description": "Полный каталог инструментов ИИ-кодирования. Открывайте для себя, сравнивайте и изучайте IDE, CLI, расширения, модели и поставщики.",
- "title": "AI Coding Stack - Ваш центр экосистемы ИИ-кодирования"
+ "title": "Каталог и сравнение инструментов ИИ-кодинга"
},
"readDocs": "Читать документацию",
"subtitle": "Наше видение будущего разработки программного обеспечения на основе ИИ",
diff --git a/translations/ru/pages/models.json b/translations/ru/pages/models.json
index 87bfad64..ab459e18 100644
--- a/translations/ru/pages/models.json
+++ b/translations/ru/pages/models.json
@@ -1,8 +1,17 @@
{
"context": "Контекст:",
+ "guide": {
+ "compareModels": "Сравнить модели рядом",
+ "description": "Сравнивайте модели для программирования по контекстному окну, цене токенов, жизненному циклу и поставщику. Используйте параллельное сравнение для подробных характеристик, а затем проверьте доступность моделей у поставщиков API.",
+ "exploreProviders": "Изучить поставщиков моделей",
+ "title": "Как сравнивать модели ИИ-кодинга"
+ },
"lifecycle": {
"noResults": "Нет {lifecycle} моделей, соответствующих вашему поиску"
},
+ "meta": {
+ "description": "Сравнивайте модели ИИ-кодинга по контекстному окну, цене токенов, жизненному циклу и поставщику. Изучайте актуальные LLM для кода от ведущих разработчиков."
+ },
"pricing": "Цены:",
"size": "Размер:",
"subtitle": "Большие языковые модели, оптимизированные для генерации и анализа кода",
diff --git a/translations/tr/pages/home.json b/translations/tr/pages/home.json
index aebded4a..036d8aee 100644
--- a/translations/tr/pages/home.json
+++ b/translations/tr/pages/home.json
@@ -22,7 +22,7 @@
},
"meta": {
"description": "AI kodlama araçları için kapsamlı dizin. IDE'leri, CLI'leri, uzantıları, modelleri ve sağlayıcıları keşfedin, karşılaştırın ve inceleyin.",
- "title": "AI Coding Stack - AI Kodlama Ekosistemi Merkeziniz"
+ "title": "AI Kodlama Araçları Dizini ve Karşılaştırması"
},
"readDocs": "Dokümantasyonu Oku",
"subtitle": "Keşfedin, Karşılaştırın, Daha Hızlı Oluşturun.",
diff --git a/translations/tr/pages/models.json b/translations/tr/pages/models.json
index 3fc94847..180cba6a 100644
--- a/translations/tr/pages/models.json
+++ b/translations/tr/pages/models.json
@@ -1,8 +1,17 @@
{
"context": "Bağlam:",
+ "guide": {
+ "compareModels": "Modelleri yan yana karşılaştır",
+ "description": "Kodlama modellerini bağlam penceresi, token fiyatı, yaşam döngüsü ve sağlayıcıya göre karşılaştırın. Ayrıntılı özellikler için yan yana karşılaştırmayı kullanın, ardından model kullanılabilirliği için API sağlayıcılarını inceleyin.",
+ "exploreProviders": "Model sağlayıcılarını keşfet",
+ "title": "AI kodlama modelleri nasıl karşılaştırılır"
+ },
"lifecycle": {
"noResults": "Aramanızla eşleşen {lifecycle} model yok"
},
+ "meta": {
+ "description": "AI kodlama modellerini bağlam penceresi, token fiyatı, yaşam döngüsü ve sağlayıcıya göre karşılaştırın. Önde gelen geliştiricilerin güncel kodlama LLM modellerini keşfedin."
+ },
"pricing": "Fiyatlandırma:",
"size": "Boyut:",
"subtitle": "Kod oluşturma ve analiz için optimize edilmiş büyük dil modelleri",
diff --git a/translations/zh-Hans/pages/home.json b/translations/zh-Hans/pages/home.json
index 97258467..a6781e40 100644
--- a/translations/zh-Hans/pages/home.json
+++ b/translations/zh-Hans/pages/home.json
@@ -22,7 +22,7 @@
},
"meta": {
"description": "AI 编码工具综合目录。发现、对比和探索 IDE、命令行、终端、模型和提供商。",
- "title": "AI Coding Stack - 你的 AI 编码生态中心"
+ "title": "AI 编码工具目录与对比"
},
"readDocs": "阅读文档",
"subtitle": "发现、对比、更快构建。",
diff --git a/translations/zh-Hans/pages/models.json b/translations/zh-Hans/pages/models.json
index 22f6f73d..35c98781 100644
--- a/translations/zh-Hans/pages/models.json
+++ b/translations/zh-Hans/pages/models.json
@@ -1,8 +1,17 @@
{
"context": "内容窗口:",
+ "guide": {
+ "compareModels": "并排比较模型",
+ "description": "按上下文窗口、Token 价格、生命周期和提供商比较编码模型。使用并排比较查看详细规格,再到 API 提供商页面确认模型可用性。",
+ "exploreProviders": "浏览模型提供商",
+ "title": "如何比较 AI 编码模型"
+ },
"lifecycle": {
"noResults": "没有符合搜索条件的{lifecycle}模型"
},
+ "meta": {
+ "description": "按上下文窗口、Token 价格、生命周期和提供商比较 AI 编码模型,浏览主流模型开发商当前提供的编码大语言模型。"
+ },
"pricing": "定价:",
"size": "大小:",
"subtitle": "针对代码生成与分析优化的大型语言模型",
diff --git a/translations/zh-Hant/pages/home.json b/translations/zh-Hant/pages/home.json
index 0c34c3bb..9f552c4f 100644
--- a/translations/zh-Hant/pages/home.json
+++ b/translations/zh-Hant/pages/home.json
@@ -22,7 +22,7 @@
},
"meta": {
"description": "AI 編碼工具完整目錄。探索、比較和探索 IDE、CLI、擴充套件、模型和供應商。",
- "title": "AI 編碼技術堆疊 - 您的 AI 編碼生態系統中心"
+ "title": "AI 編碼工具目錄與比較"
},
"readDocs": "閱讀文件",
"subtitle": "探索、比較、更快開發。",
diff --git a/translations/zh-Hant/pages/models.json b/translations/zh-Hant/pages/models.json
index 09a52143..92f4570e 100644
--- a/translations/zh-Hant/pages/models.json
+++ b/translations/zh-Hant/pages/models.json
@@ -1,8 +1,17 @@
{
"context": "內容視窗:",
+ "guide": {
+ "compareModels": "並排比較模型",
+ "description": "依上下文視窗、Token 價格、生命週期和提供者比較編碼模型。使用並排比較查看詳細規格,再到 API 提供者頁面確認模型可用性。",
+ "exploreProviders": "瀏覽模型提供者",
+ "title": "如何比較 AI 編碼模型"
+ },
"lifecycle": {
"noResults": "沒有符合搜尋條件的{lifecycle}模型"
},
+ "meta": {
+ "description": "依上下文視窗、Token 價格、生命週期和提供者比較 AI 編碼模型,瀏覽主要模型開發商目前提供的編碼大型語言模型。"
+ },
"pricing": "定價:",
"size": "大小:",
"subtitle": "針對程式碼產生與分析優化的大型語言模型",