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": "針對程式碼產生與分析優化的大型語言模型",