Skip to content

Commit f0d5491

Browse files
author
pavelhov
authored
Merge pull request #10 from pavelhov/codex/remove-docs-translations
docs(site): remove translated locales, ship English-only docs
2 parents b688f6c + a09c6bb commit f0d5491

180 files changed

Lines changed: 160 additions & 24455 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎docs-site/astro.config.mjs‎

Lines changed: 42 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ export default defineConfig({
2222
favicon: "/favicon.ico",
2323
customCss: [
2424
"@fontsource-variable/geist",
25-
"pretendard/dist/web/variable/pretendardvariable-dynamic-subset.css",
2625
"./src/styles/custom.css",
2726
],
2827
components: {
@@ -42,102 +41,86 @@ export default defineConfig({
4241
baseUrl: "https://github.com/pavelhov/CodexCommander/edit/main/docs-site/",
4342
},
4443
lastUpdated: true,
45-
// English at the site root; Korean under /ko, Simplified Chinese under /zh-cn, Russian under /ru, Japanese under /ja.
46-
defaultLocale: "root",
47-
locales: {
48-
root: { label: "English", lang: "en" },
49-
ko: { label: "한국어", lang: "ko" },
50-
"zh-cn": { label: "简体中文", lang: "zh-CN" },
51-
ru: { label: "Русский", lang: "ru" },
52-
ja: { label: "日本語", lang: "ja" },
53-
},
5444
sidebar: [
5545
{
5646
label: "Getting Started",
57-
translations: { ko: "시작하기", "zh-CN": "开始使用", ru: "Начало работы", ja: "はじめに" },
5847
items: [
59-
{ label: "Installation", translations: { ko: "설치", "zh-CN": "安装", ru: "Установка", ja: "インストール" }, slug: "getting-started/installation" },
60-
{ label: "Quickstart", translations: { ko: "빠른 시작", "zh-CN": "快速开始", ru: "Быстрый старт", ja: "クイックスタート" }, slug: "getting-started/quickstart" },
61-
{ label: "How It Works", translations: { ko: "동작 원리", "zh-CN": "工作原理", ru: "Как это работает", ja: "仕組み" }, slug: "getting-started/how-it-works" },
62-
{ label: "Agent Quickstart", translations: { ko: "에이전트 퀵스타트", "zh-CN": "Agent 快速上手", ru: "Быстрый старт для агентов", ja: "エージェント向けクイックスタート" }, slug: "getting-started/for-agents" },
48+
{ label: "Installation", slug: "getting-started/installation" },
49+
{ label: "Quickstart", slug: "getting-started/quickstart" },
50+
{ label: "How It Works", slug: "getting-started/how-it-works" },
51+
{ label: "Agent Quickstart", slug: "getting-started/for-agents" },
6352
],
6453
},
6554
{
6655
label: "Guides",
67-
translations: { ko: "가이드", "zh-CN": "指南", ru: "Руководства", ja: "ガイド" },
6856
items: [
69-
{ label: "Providers", translations: { ko: "프로바이더", "zh-CN": "提供商", ru: "Провайдеры", ja: "プロバイダー" }, slug: "guides/providers" },
70-
{ label: "Model Routing", translations: { ko: "모델 라우팅", "zh-CN": "模型路由", ru: "Маршрутизация моделей", ja: "モデルルーティング" }, slug: "guides/model-routing" },
71-
{ label: "Codex Integration", translations: { ko: "Codex 통합", "zh-CN": "Codex 集成", ru: "Интеграция с Codex", ja: "Codex 連携" }, slug: "guides/codex-integration" },
72-
{ label: "Codex App Model Picker", translations: { ko: "Codex App 모델 선택기", "zh-CN": "Codex App 模型选择器", ru: "Выбор модели в Codex App", ja: "Codex App モデルピッカー" }, slug: "guides/codex-app-models" },
73-
{ label: "Model Ordering", translations: { ko: "모델 정렬에 관하여", "zh-CN": "模型排序", ru: "Сортировка моделей", ja: "モデルの並び順" }, slug: "guides/model-ordering" },
74-
{ label: "Combos", translations: { ko: "콤보", "zh-CN": "组合", ru: "Комбо", ja: "コンボ" }, slug: "guides/combos" },
75-
{ label: "Claude Code", translations: { ko: "Claude Code", "zh-CN": "Claude Code", ru: "Claude Code", ja: "Claude Code" }, slug: "guides/claude-code" },
76-
{ label: "Grok Build", translations: { ko: "Grok Build", "zh-CN": "Grok Build", ru: "Grok Build", ja: "Grok Build" }, slug: "guides/grok-build" },
77-
{ label: "opencode", translations: { ko: "opencode", "zh-CN": "opencode", ru: "opencode", ja: "opencode" }, slug: "guides/opencode" },
78-
{ label: "Pi", translations: { ko: "Pi", "zh-CN": "Pi", ru: "Pi", ja: "Pi" }, slug: "guides/pi" },
79-
{ label: "Integrations", translations: { ko: "연동", "zh-CN": "集成", ru: "Интеграции", ja: "連携" }, slug: "guides/integrations" },
80-
{ label: "Sidecars: Web Search & Vision", translations: { ko: "사이드카: 웹 검색 & 비전", "zh-CN": "边车:网络搜索与视觉", ru: "Сайдкары: веб-поиск и зрение", ja: "サイドカー: ウェブ検索 & ビジョン" }, slug: "guides/sidecars" },
81-
{ label: "Image Bridge", translations: { ko: "이미지 브릿지", "zh-CN": "图像桥接", ru: "Image Bridge", ja: "画像ブリッジ" }, slug: "guides/image-bridge" },
82-
{ label: "Video Bridge", translations: { ko: "비디오 브릿지", "zh-CN": "视频桥接", ru: "Video Bridge", ja: "動画ブリッジ" }, slug: "guides/video-bridge" },
83-
{ label: "Web Dashboard", translations: { ko: "웹 대시보드", "zh-CN": "网页控制台", ru: "Веб-дашборд", ja: "ウェブダッシュボード" }, slug: "guides/web-dashboard" },
84-
{ label: "macOS Menu Bar", translations: { ko: "macOS 메뉴 막대", "zh-CN": "macOS 菜单栏", ru: "Строка меню macOS", ja: "macOS メニューバー" }, slug: "guides/macos-menu-bar" },
85-
{ label: "Sub-agent Surface", translations: { ko: "서브에이전트 서피스", "zh-CN": "子代理界面", ru: "Интерфейс подагентов", ja: "サブエージェントサーフェス" }, slug: "guides/sub-agent-surface" },
57+
{ label: "Providers", slug: "guides/providers" },
58+
{ label: "Model Routing", slug: "guides/model-routing" },
59+
{ label: "Codex Integration", slug: "guides/codex-integration" },
60+
{ label: "Codex App Model Picker", slug: "guides/codex-app-models" },
61+
{ label: "Model Ordering", slug: "guides/model-ordering" },
62+
{ label: "Combos", slug: "guides/combos" },
63+
{ label: "Claude Code", slug: "guides/claude-code" },
64+
{ label: "Grok Build", slug: "guides/grok-build" },
65+
{ label: "opencode", slug: "guides/opencode" },
66+
{ label: "Pi", slug: "guides/pi" },
67+
{ label: "Integrations", slug: "guides/integrations" },
68+
{ label: "Sidecars: Web Search & Vision", slug: "guides/sidecars" },
69+
{ label: "Image Bridge", slug: "guides/image-bridge" },
70+
{ label: "Video Bridge", slug: "guides/video-bridge" },
71+
{ label: "Web Dashboard", slug: "guides/web-dashboard" },
72+
{ label: "macOS Menu Bar", slug: "guides/macos-menu-bar" },
73+
{ label: "Sub-agent Surface", slug: "guides/sub-agent-surface" },
8674
],
8775
},
8876
{
8977
label: "Benchmarks",
90-
translations: { ko: "벤치마크", "zh-CN": "基准测试", ru: "Бенчмарки", ja: "ベンチマーク" },
9178
collapsed: true,
9279
items: [
93-
{ label: "Overview", translations: { ko: "개요", "zh-CN": "概览", ru: "Обзор", ja: "概要" }, slug: "benchmarks" },
94-
{ label: "Coding", translations: { ko: "코딩", "zh-CN": "编程", ru: "Кодинг", ja: "コーディング" }, slug: "benchmarks/coding" },
95-
{ label: "Frontend", translations: { ko: "프론트엔드", "zh-CN": "前端", ru: "Фронтенд", ja: "フロントエンド" }, slug: "benchmarks/frontend" },
96-
{ label: "Terminal", translations: { ko: "터미널", "zh-CN": "终端", ru: "Терминал", ja: "ターミナル" }, slug: "benchmarks/terminal" },
97-
{ label: "Security", translations: { ko: "보안", "zh-CN": "安全", ru: "Безопасность", ja: "セキュリティ" }, slug: "benchmarks/security" },
98-
{ label: "Intelligence", translations: { ko: "인텔리전스", "zh-CN": "智能", ru: "Интеллект", ja: "インテリジェンス" }, slug: "benchmarks/intelligence" },
80+
{ label: "Overview", slug: "benchmarks" },
81+
{ label: "Coding", slug: "benchmarks/coding" },
82+
{ label: "Frontend", slug: "benchmarks/frontend" },
83+
{ label: "Terminal", slug: "benchmarks/terminal" },
84+
{ label: "Security", slug: "benchmarks/security" },
85+
{ label: "Intelligence", slug: "benchmarks/intelligence" },
9986
],
10087
},
10188
{
10289
label: "Reference",
103-
translations: { ko: "레퍼런스", "zh-CN": "参考", ru: "Справочник", ja: "リファレンス" },
10490
items: [
10591
{
10692
label: "CLI",
107-
translations: { ko: "CLI", "zh-CN": "命令行", ru: "CLI", ja: "CLI" },
10893
items: [
109-
{ label: "Overview", translations: { ko: "개요", "zh-CN": "概览", ru: "Обзор", ja: "概要" }, slug: "reference/cli" },
110-
{ label: "Lifecycle & Service", translations: { ko: "라이프사이클 & 서비스", "zh-CN": "生命周期与服务", ru: "Жизненный цикл и служба", ja: "ライフサイクル & サービス" }, slug: "reference/cli/lifecycle" },
111-
{ label: "Providers, Accounts & Models", translations: { ko: "프로바이더, 계정 & 모델", "zh-CN": "提供商、账户与模型", ru: "Провайдеры, аккаунты и модели", ja: "プロバイダー・アカウント・モデル" }, slug: "reference/cli/providers-accounts" },
112-
{ label: "Agents, Routing & Integrations", translations: { ko: "에이전트, 라우팅 & 통합", "zh-CN": "代理、路由与集成", ru: "Агенты, маршрутизация и интеграции", ja: "エージェント・ルーティング・連携" }, slug: "reference/cli/agents" },
94+
{ label: "Overview", slug: "reference/cli" },
95+
{ label: "Lifecycle & Service", slug: "reference/cli/lifecycle" },
96+
{ label: "Providers, Accounts & Models", slug: "reference/cli/providers-accounts" },
97+
{ label: "Agents, Routing & Integrations", slug: "reference/cli/agents" },
11398
],
11499
},
115100
{
116101
label: "Configuration",
117-
translations: { ko: "설정", "zh-CN": "配置", ru: "Конфигурация", ja: "設定" },
118102
items: [
119-
{ label: "Overview", translations: { ko: "개요", "zh-CN": "概览", ru: "Обзор", ja: "概要" }, slug: "reference/configuration" },
120-
{ label: "Providers", translations: { ko: "프로바이더", "zh-CN": "提供商", ru: "Провайдеры", ja: "プロバイダー" }, slug: "reference/configuration/providers" },
121-
{ label: "Routing", translations: { ko: "라우팅", "zh-CN": "路由", ru: "Маршрутизация", ja: "ルーティング" }, slug: "reference/configuration/routing" },
122-
{ label: "Agents", translations: { ko: "에이전트", "zh-CN": "代理", ru: "Агенты", ja: "エージェント" }, slug: "reference/configuration/agents" },
123-
{ label: "Server & Runtime", translations: { ko: "서버 & 런타임", "zh-CN": "服务器与运行时", ru: "Сервер и рантайм", ja: "サーバー & ランタイム" }, slug: "reference/configuration/server" },
103+
{ label: "Overview", slug: "reference/configuration" },
104+
{ label: "Providers", slug: "reference/configuration/providers" },
105+
{ label: "Routing", slug: "reference/configuration/routing" },
106+
{ label: "Agents", slug: "reference/configuration/agents" },
107+
{ label: "Server & Runtime", slug: "reference/configuration/server" },
124108
],
125109
},
126-
{ label: "Adapters", translations: { ko: "어댑터", "zh-CN": "适配器", ru: "Адаптеры", ja: "アダプター" }, slug: "reference/adapters" },
127-
{ label: "Architecture", translations: { ko: "아키텍처", "zh-CN": "架构", ru: "Архитектура", ja: "アーキテクチャ" }, slug: "reference/architecture" },
128-
{ label: "Proxy API Formats", translations: { ko: "프록시 API 형식", "zh-CN": "代理 API 格式", ru: "Форматы API прокси", ja: "プロキシAPI形式" }, slug: "reference/proxy-formats" },
129-
{ label: "Management API", translations: { ko: "관리 API", "zh-CN": "管理 API", ru: "API управления", ja: "管理API" }, slug: "reference/management-api" },
110+
{ label: "Adapters", slug: "reference/adapters" },
111+
{ label: "Architecture", slug: "reference/architecture" },
112+
{ label: "Proxy API Formats", slug: "reference/proxy-formats" },
113+
{ label: "Management API", slug: "reference/management-api" },
130114
],
131115
},
132116
{
133117
label: "Troubleshooting",
134-
translations: { ko: "문제 해결", "zh-CN": "故障排除", ru: "Устранение неполадок", ja: "トラブルシューティング" },
135118
collapsed: true,
136119
items: [
137-
{ label: "Windows Memory Growth", translations: { ko: "Windows 메모리 증가", "zh-CN": "Windows 内存增长", ru: "Рост памяти в Windows", ja: "Windows メモリ増加" }, slug: "troubleshooting/windows-memory" },
120+
{ label: "Windows Memory Growth", slug: "troubleshooting/windows-memory" },
138121
],
139122
},
140-
{ label: "Contributing", translations: { ko: "기여하기", "zh-CN": "贡献", ru: "Как внести вклад", ja: "コントリビュート" }, slug: "contributing" },
123+
{ label: "Contributing", slug: "contributing" },
141124
],
142125
}),
143126
],

‎docs-site/src/components/FrontierBoards.astro‎

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,18 @@ import data from "../data/frontier-benchmarks.json";
1010
import { FRONTIER_STRINGS } from "../data/frontier-i18n";
1111
1212
interface Props {
13-
locale?: "en" | "ko" | "zh-cn" | "ru" | "ja";
1413
/** Comma-separated board ids to render; omit for all boards. */
1514
boards?: string;
1615
/** Show the page-level subtitle (overview pages only). */
1716
intro?: boolean;
1817
}
1918
20-
const { locale = "en", boards: boardsProp, intro = false } = Astro.props;
19+
const { boards: boardsProp, intro = false } = Astro.props;
2120
const include = boardsProp ? new Set(boardsProp.split(",").map(s => s.trim()).filter(Boolean)) : null;
22-
const strings = FRONTIER_STRINGS[locale] as Record<string, string>;
23-
const fallback = FRONTIER_STRINGS.en as Record<string, string>;
24-
const t = (key: string): string => strings[key] ?? fallback[key] ?? key;
21+
const t = (key: string): string => FRONTIER_STRINGS[key] ?? key;
2522
const fill = (key: string, vars: Record<string, string>): string =>
2623
Object.entries(vars).reduce((acc, [k, v]) => acc.replace(`{${k}}`, v), t(key));
2724
28-
// The PR i18n has no column-header key for "score" — keep a tiny local map.
29-
const SCORE_HEADER: Record<string, string> = { en: "Score", ko: "점수", "zh-cn": "得分", ru: "Балл", ja: "スコア" };
3025
/** Dataset tags are kebab-case; i18n keys are camelCase (cheap-subagent → cheapSubagent). */
3126
const tagKey = (tag: string): string => tag.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
3227
@@ -75,7 +70,7 @@ const boards = data.benchmarks.filter(board => !include || include.has(board.id)
7570
<tr>
7671
<th>{t("frontier.col.model")}</th>
7772
<th>{t("frontier.col.effort")}</th>
78-
<th>{SCORE_HEADER[locale] ?? SCORE_HEADER.en}</th>
73+
<th>Score</th>
7974
<th>{t("frontier.col.cost")}</th>
8075
{board.allMeasured && <th>{t("frontier.col.efficiency")}</th>}
8176
<th>{t("frontier.col.tags")}</th>

0 commit comments

Comments
 (0)