import { DEFAULT_LANG } from "./languages"; // Navigation structure (slugs are shared). Labels are per-language. const NAV_STRUCTURE = [ { key: "gettingStarted", items: [ { key: "introduction", slug: "" }, { key: "quickStart", slug: "getting-started/quick-start" }, { key: "installation", slug: "getting-started/installation" } ] }, { key: "providers", items: [ { key: "subscription", slug: "providers/subscription" }, { key: "cheap", slug: "providers/cheap" }, { key: "free", slug: "providers/free" } ] }, { key: "features", items: [ { key: "smartRouting", slug: "features/smart-routing" }, { key: "combos", slug: "features/combos" }, { key: "quotaTracking", slug: "features/quota-tracking" } ] }, { key: "integration", items: [ { key: "claudeCode", slug: "integration/claude-code" }, { key: "codex", slug: "integration/codex" }, { key: "cursor", slug: "integration/cursor" }, { key: "cline", slug: "integration/cline" }, { key: "roo", slug: "integration/roo" }, { key: "continue", slug: "integration/continue" }, { key: "otherTools", slug: "integration/other-tools" } ] }, { key: "deployment", items: [ { key: "localhost", slug: "deployment/localhost" }, { key: "cloud", slug: "deployment/cloud" } ] }, { key: "help", items: [ { key: "troubleshooting", slug: "troubleshooting" }, { key: "faq", slug: "faq" } ] } ]; // Translations for section/item titles (5 langs). const TRANSLATIONS = { en: { gettingStarted: "Getting Started", introduction: "Introduction", quickStart: "Quick Start", installation: "Installation", providers: "Providers", subscription: "Subscription (Maximize)", cheap: "Cheap (Backup)", free: "Free (Fallback)", features: "Features", smartRouting: "Smart Routing", combos: "Combos & Fallback", quotaTracking: "Quota Tracking", integration: "Integration", claudeCode: "Claude Code", codex: "OpenAI Codex", cursor: "Cursor", cline: "Cline", roo: "Roo", continue: "Continue", otherTools: "Other Tools", deployment: "Deployment", localhost: "Localhost", cloud: "Cloud (VPS/Docker)", help: "Help", troubleshooting: "Troubleshooting", faq: "FAQ", goToApp: "Go to App", selectLanguage: "Select Language", onThisPage: "On this page" }, vi: { gettingStarted: "Bắt đầu", introduction: "Giới thiệu", quickStart: "Bắt đầu nhanh", installation: "Cài đặt", providers: "Nhà cung cấp", subscription: "Subscription (Tối đa hóa)", cheap: "Giá rẻ (Dự phòng)", free: "Miễn phí (Phương án cuối)", features: "Tính năng", smartRouting: "Định tuyến thông minh", combos: "Combo & Fallback", quotaTracking: "Theo dõi Quota", integration: "Tích hợp", claudeCode: "Claude Code", codex: "OpenAI Codex", cursor: "Cursor", cline: "Cline", roo: "Roo", continue: "Continue", otherTools: "Công cụ khác", deployment: "Triển khai", localhost: "Localhost", cloud: "Cloud (VPS/Docker)", help: "Trợ giúp", troubleshooting: "Khắc phục sự cố", faq: "Câu hỏi thường gặp", goToApp: "Vào ứng dụng", selectLanguage: "Chọn ngôn ngữ", onThisPage: "Trên trang này" }, "zh-CN": { gettingStarted: "开始使用", introduction: "简介", quickStart: "快速开始", installation: "安装", providers: "提供商", subscription: "订阅 (最大化)", cheap: "低价 (备用)", free: "免费 (兜底)", features: "功能", smartRouting: "智能路由", combos: "组合与回退", quotaTracking: "配额跟踪", integration: "集成", claudeCode: "Claude Code", codex: "OpenAI Codex", cursor: "Cursor", cline: "Cline", roo: "Roo", continue: "Continue", otherTools: "其他工具", deployment: "部署", localhost: "本地", cloud: "云端 (VPS/Docker)", help: "帮助", troubleshooting: "故障排查", faq: "常见问题", goToApp: "前往应用", selectLanguage: "选择语言", onThisPage: "本页内容" }, es: { gettingStarted: "Comenzar", introduction: "Introducción", quickStart: "Inicio rápido", installation: "Instalación", providers: "Proveedores", subscription: "Suscripción (Maximizar)", cheap: "Económico (Respaldo)", free: "Gratis (Alternativa)", features: "Funciones", smartRouting: "Enrutamiento inteligente", combos: "Combos y Fallback", quotaTracking: "Seguimiento de cuota", integration: "Integración", claudeCode: "Claude Code", codex: "OpenAI Codex", cursor: "Cursor", cline: "Cline", roo: "Roo", continue: "Continue", otherTools: "Otras herramientas", deployment: "Despliegue", localhost: "Localhost", cloud: "Nube (VPS/Docker)", help: "Ayuda", troubleshooting: "Solución de problemas", faq: "Preguntas frecuentes", goToApp: "Ir a la app", selectLanguage: "Seleccionar idioma", onThisPage: "En esta página" }, ja: { gettingStarted: "はじめに", introduction: "概要", quickStart: "クイックスタート", installation: "インストール", providers: "プロバイダー", subscription: "サブスクリプション (最大化)", cheap: "格安 (バックアップ)", free: "無料 (フォールバック)", features: "機能", smartRouting: "スマートルーティング", combos: "コンボとフォールバック", quotaTracking: "クォータ追跡", integration: "連携", claudeCode: "Claude Code", codex: "OpenAI Codex", cursor: "Cursor", cline: "Cline", roo: "Roo", continue: "Continue", otherTools: "その他のツール", deployment: "デプロイ", localhost: "ローカル", cloud: "クラウド (VPS/Docker)", help: "ヘルプ", troubleshooting: "トラブルシューティング", faq: "よくある質問", goToApp: "アプリへ", selectLanguage: "言語を選択", onThisPage: "このページ" } }; // Translate one key for given language with fallback to default. export function t(lang, key) { return TRANSLATIONS[lang]?.[key] || TRANSLATIONS[DEFAULT_LANG][key] || key; } // Build localized navigation for sidebar. export function getNavigation(lang) { return NAV_STRUCTURE.map(section => ({ key: section.key, title: t(lang, section.key), items: section.items.map(item => ({ key: item.key, slug: item.slug, title: t(lang, item.key) })) })); } // Static config (logo, urls, default English nav for backward compatibility). export const DOCS_CONFIG = { title: "9Router Documentation", description: "Smart AI model router - Maximize subscriptions, minimize costs", logo: "9Router", appUrl: "https://9router.com", githubUrl: "https://github.com/decolua/9router", navigation: getNavigation(DEFAULT_LANG) };