Files
openchamber/packages/docs/sidebar.config.json
T
Pascal AndréandBohdan Triapitsyn 49a1424e5f feat: add complete French localization (#1482)
* feat: add French locale runtime

Add French to OpenChamber's shared i18n runtime, dictionaries, and parity tests so the existing language picker can load a complete fr locale across shared UI surfaces.

* fix: localize shared UI formatting

Remove remaining shared UI locale hardcodings so dates, numbers, and first-party helper copy follow the active app locale instead of leaking English on French surfaces.

* feat: localize VS Code French surfaces

Localize VS Code bootstrap, native runtime messages, panel titles, and manifest contribution strings so French users get consistent first-party copy across the extension experience.

* fix: TASK-2026-05-30-008 correct French review findings

Fix broken French relative-time and weekday strings reported on PR #1482 and restore proper import order in quota utils without broadening scope.

* fix: TASK-2026-05-30-008 address final PR review comments

Capture the localized More Info label once in the VS Code CLI-missing flow and replace the remaining inline French-only utility strings with dictionary-driven copy plus required locale keys.

* fix: TASK-2026-05-30-008 normalize French glossary

Correct glossary-level French terminology on the live PR branch, keeping canonical technical terms like PR, worktree, stash, HEAD, Mermaid, Markdown, remote, and session while replacing misleading literal translations.

* fix: TASK-2026-05-30-008 refine French terminology pass

Clean up remaining glossary mistakes on the French PR branch, especially around Mermaid, Markdown, PR, worktree, stash, branch, remote, and commit terminology, while keeping behavior unchanged.

* fix: TASK-2026-05-30-008 clean remaining French false friends

Correct the SOCKS5 mistranslation and a final small set of obvious false-friend technical nouns on the French branch without changing behavior.

* fix: TASK-2026-05-30-008 correct French glossary terms

Replace remaining false-friend translations in the French UI dictionaries and normalize technical labels for the French PR branch.

* fix: TASK-2026-05-30-008 remove remaining French Mermaid false friend

Replace the last confirmed Sirène translation with Mermaid and re-run the requested blacklist and build verification on the PR branch.

* fix: TASK-2026-05-30-008 enforce French glossary policy

Keep skill/PR/worktree/remote terminology developer-credible in French and remove remaining machine-translated Git and settings copy.

* fix: TASK-2026-05-30-008 keep prompt terminology in French

Replace remaining technical invite translations with prompt wording across scheduled tasks, multi-run, prompt templates, and Magic Prompts.

* fix: TASK-2026-05-30-008 finalize French terminology cleanup

Polish remaining worktree/remote wording, remove visible metadata leakage, and correct final Git and settings labels on the French PR branch.

* fix: TASK-2026-05-30-008 polish final French strings

Correct the last aria-like artifacts and awkward worktree/remote/GitHub URL phrasing in the French dictionaries.

* fix: TASK-2026-05-30-008 normalize final French glossary framing

Tighten the last worktree/remote/checkout wording and fix remaining French grammar around canonical technical terms.

* fix: TASK-2026-05-30-008 align final developer glossary wording

Normalize the last French framing around canonical developer terms like worktree, remote, prompt, and checkout.

* fix: TASK-2026-05-30-008 harmonize final French sentence framing

Replace the last raw franglais around checkout, remote, worktree, and prompt-facing labels with more natural French framing while keeping the chosen technical terms.

* fix: TASK-2026-05-30-008 add compact relative date keys

Replace French-specific prefix stripping in compact session date labels with dedicated i18n keys across locale dictionaries, preserving existing compact label output while making French wording robust.

* docs: add French documentation

* docs: mention French locale folder

---------

Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
2026-06-10 20:19:30 +03:00

611 lines
18 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"sections": [
{
"label": "Start here",
"translations": {
"uk": "Почніть тут",
"zh-CN": "从这里开始",
"es": "Empieza aquí",
"pt-BR": "Comece aqui",
"ko": "여기서 시작",
"pl": "Zacznij tutaj",
"fr": "Commencer ici"
},
"items": [
{
"label": "Overview",
"link": "/",
"translations": {
"uk": "Огляд",
"zh-CN": "概览",
"es": "Visión general",
"pt-BR": "Visão geral",
"ko": "개요",
"pl": "Przegląd",
"fr": "Vue densemble"
}
},
{
"label": "Install",
"link": "/install/",
"translations": {
"uk": "Встановлення",
"zh-CN": "安装",
"es": "Instalación",
"pt-BR": "Instalação",
"ko": "설치",
"pl": "Instalacja",
"fr": "Installation"
}
},
{
"label": "Quickstart",
"link": "/quickstart/",
"translations": {
"uk": "Швидкий старт",
"zh-CN": "快速开始",
"es": "Inicio rápido",
"pt-BR": "Início rápido",
"ko": "빠른 시작",
"pl": "Szybki start",
"fr": "Démarrage rapide"
}
},
{
"label": "OpenCode Server",
"link": "/opencode-server/",
"translations": {
"uk": "Сервер OpenCode",
"zh-CN": "OpenCode 服务器",
"es": "Servidor OpenCode",
"pt-BR": "Servidor OpenCode",
"ko": "OpenCode 서버",
"pl": "Serwer OpenCode",
"fr": "Serveur OpenCode"
}
},
{
"label": "Environment Variables",
"link": "/environment/",
"translations": {
"uk": "Змінні середовища",
"zh-CN": "环境变量",
"es": "Variables de entorno",
"pt-BR": "Variáveis de ambiente",
"ko": "환경 변수",
"pl": "Zmienne środowiskowe",
"fr": "Variables denvironnement"
}
}
]
},
{
"label": "Workflows",
"translations": {
"uk": "Робочі процеси",
"zh-CN": "工作流",
"es": "Flujos de trabajo",
"pt-BR": "Fluxos de trabalho",
"ko": "워크플로",
"pl": "Przepływy pracy",
"fr": "Workflows"
},
"items": [
{
"label": "Projects",
"link": "/projects/",
"translations": {
"uk": "Проєкти",
"zh-CN": "项目",
"es": "Proyectos",
"pt-BR": "Projetos",
"ko": "프로젝트",
"pl": "Projekty",
"fr": "Projets"
}
},
{
"label": "Context",
"link": "/context/",
"translations": {
"uk": "Контекст",
"zh-CN": "上下文",
"es": "Contexto",
"pt-BR": "Contexto",
"ko": "컨텍스트",
"pl": "Kontekst",
"fr": "Contexte"
}
},
{
"label": "Notes, Todos & Plans",
"link": "/notes-todos-plans/",
"translations": {
"uk": "Нотатки, справи та плани",
"zh-CN": "笔记、待办与计划",
"es": "Notas, tareas y planes",
"pt-BR": "Notas, tarefas e planos",
"ko": "메모, 할 일, 계획",
"pl": "Notatki, zadania i plany",
"fr": "Notes, todos et plans"
}
},
{
"label": "Scheduled Tasks",
"link": "/scheduled-tasks/",
"translations": {
"uk": "Заплановані задачі",
"zh-CN": "计划任务",
"es": "Tareas programadas",
"pt-BR": "Tarefas agendadas",
"ko": "예약 작업",
"pl": "Zaplanowane zadania",
"fr": "Tâches planifiées"
}
},
{
"label": "Project Actions",
"link": "/project-actions/",
"translations": {
"uk": "Дії проєкту",
"zh-CN": "项目操作",
"es": "Acciones del proyecto",
"pt-BR": "Ações do projeto",
"ko": "프로젝트 작업",
"pl": "Akcje projektu",
"fr": "Actions de projet"
}
},
{
"label": "Preview & Dev Servers",
"link": "/preview/",
"translations": {
"uk": "Перегляд і dev-сервери",
"zh-CN": "预览与开发服务器",
"es": "Vista previa y servidores de desarrollo",
"pt-BR": "Pré-visualização e servidores de desenvolvimento",
"ko": "미리보기 및 개발 서버",
"pl": "Podgląd i serwery deweloperskie",
"fr": "Aperçu et serveurs de dev"
}
},
{
"label": "Worktree Sessions",
"link": "/worktrees/",
"translations": {
"uk": "Сесії worktree",
"zh-CN": "Worktree 会话",
"es": "Sesiones de worktree",
"pt-BR": "Sessões de worktree",
"ko": "Worktree 세션",
"pl": "Sesje worktree",
"fr": "Sessions worktree"
}
},
{
"label": "Multi-run",
"link": "/multi-run/",
"translations": {
"fr": "Multi-run"
}
},
{
"label": "Git & GitHub",
"link": "/git/",
"translations": {
"fr": "Git et GitHub"
}
},
{
"label": "GitHub Issues & PRs",
"link": "/github/",
"translations": {
"uk": "Завдання та PR GitHub",
"zh-CN": "GitHub 工单与 PR",
"es": "Issues y PRs de GitHub",
"pt-BR": "Issues e PRs do GitHub",
"ko": "GitHub 이슈 및 PR",
"pl": "Zgłoszenia i PR-y GitHub",
"fr": "Issues et PR GitHub"
}
},
{
"label": "Magic Prompts",
"link": "/magic-prompts/",
"translations": {
"uk": "Магічні підказки",
"zh-CN": "魔法提示词",
"es": "Prompts mágicos",
"pt-BR": "Prompts mágicos",
"ko": "매직 프롬프트",
"pl": "Magiczne prompty",
"fr": "Magic Prompts"
}
},
{
"label": "Git Identities",
"link": "/git-identities/",
"translations": {
"uk": "Git-ідентичності",
"zh-CN": "Git 身份",
"es": "Identidades de Git",
"pt-BR": "Identidades do Git",
"ko": "Git 아이덴티티",
"pl": "Tożsamości Git",
"fr": "Identités Git"
}
}
]
},
{
"label": "OpenCode setup",
"translations": {
"uk": "Налаштування OpenCode",
"zh-CN": "OpenCode 设置",
"es": "Configuración de OpenCode",
"pt-BR": "Configuração do OpenCode",
"ko": "OpenCode 설정",
"pl": "Konfiguracja OpenCode",
"fr": "Configuration OpenCode"
},
"items": [
{
"label": "Providers, Models & Agents",
"link": "/providers/",
"translations": {
"uk": "Провайдери, моделі та агенти",
"zh-CN": "提供商、模型与智能体",
"es": "Proveedores, modelos y agentes",
"pt-BR": "Provedores, modelos e agentes",
"ko": "공급자, 모델, 에이전트",
"pl": "Dostawcy, modele i agenci",
"fr": "Fournisseurs, modèles et agents"
}
},
{
"label": "MCP Servers",
"link": "/mcp/",
"translations": {
"uk": "Сервери MCP",
"zh-CN": "MCP 服务器",
"es": "Servidores MCP",
"pt-BR": "Servidores MCP",
"ko": "MCP 서버",
"pl": "Serwery MCP",
"fr": "Serveurs MCP"
}
},
{
"label": "Skills",
"link": "/skills/",
"translations": {
"uk": "Навички",
"zh-CN": "技能",
"es": "Habilidades",
"pt-BR": "Habilidades",
"ko": "스킬",
"pl": "Umiejętności",
"fr": "Skills"
}
},
{
"label": "Skills Catalog",
"link": "/skills-catalog/",
"translations": {
"uk": "Каталог навичок",
"zh-CN": "技能目录",
"es": "Catálogo de habilidades",
"pt-BR": "Catálogo de habilidades",
"ko": "스킬 카탈로그",
"pl": "Katalog umiejętności",
"fr": "Catalogue de skills"
}
},
{
"label": "Commands & Snippets",
"link": "/commands-snippets/",
"translations": {
"uk": "Команди та сніпети",
"zh-CN": "命令与代码片段",
"es": "Comandos y fragmentos",
"pt-BR": "Comandos e trechos",
"ko": "명령 및 스니펫",
"pl": "Polecenia i fragmenty",
"fr": "Commandes et snippets"
}
},
{
"label": "Usage & Quotas",
"link": "/usage/",
"translations": {
"uk": "Використання та квоти",
"zh-CN": "用量与配额",
"es": "Uso y cuotas",
"pt-BR": "Uso e cotas",
"ko": "사용량 및 할당량",
"pl": "Zużycie i limity",
"fr": "Utilisation et quotas"
}
}
]
},
{
"label": "Remote access",
"translations": {
"uk": "Віддалений доступ",
"zh-CN": "远程访问",
"es": "Acceso remoto",
"pt-BR": "Acesso remoto",
"ko": "원격 접속",
"pl": "Dostęp zdalny",
"fr": "Accès distant"
},
"items": [
{
"label": "Tunnels",
"link": "/tunnels/",
"translations": {
"uk": "Тунелі",
"zh-CN": "隧道",
"es": "Túneles",
"pt-BR": "Túneis",
"ko": "터널",
"pl": "Tunele",
"fr": "Tunnels"
}
},
{
"label": "Reverse Proxy",
"link": "/reverse-proxy/",
"translations": {
"uk": "Зворотний проксі",
"zh-CN": "反向代理",
"es": "Proxy inverso",
"pt-BR": "Proxy reverso",
"ko": "리버스 프록시",
"pl": "Reverse proxy",
"fr": "Reverse proxy"
}
},
{
"label": "PWA & Mobile",
"link": "/mobile/",
"translations": {
"uk": "PWA та мобільний доступ",
"zh-CN": "PWA 与移动端",
"es": "PWA y móvil",
"pt-BR": "PWA e celular",
"ko": "PWA 및 모바일",
"pl": "PWA i urządzenia mobilne",
"fr": "PWA et mobile"
}
},
{
"label": "Security",
"link": "/security/",
"translations": {
"uk": "Безпека",
"zh-CN": "安全",
"es": "Seguridad",
"pt-BR": "Segurança",
"ko": "보안",
"pl": "Bezpieczeństwo",
"fr": "Sécurité"
}
}
]
},
{
"label": "Customize",
"translations": {
"uk": "Налаштування",
"zh-CN": "自定义",
"es": "Personalizar",
"pt-BR": "Personalizar",
"ko": "맞춤 설정",
"pl": "Dostosuj",
"fr": "Personnaliser"
},
"items": [
{
"label": "Themes",
"link": "/themes/",
"translations": {
"uk": "Теми",
"zh-CN": "主题",
"es": "Temas",
"pt-BR": "Temas",
"ko": "테마",
"pl": "Motywy",
"fr": "Thèmes"
}
},
{
"label": "Notifications",
"link": "/notifications/",
"translations": {
"uk": "Сповіщення",
"zh-CN": "通知",
"es": "Notificaciones",
"pt-BR": "Notificações",
"ko": "알림",
"pl": "Powiadomienia",
"fr": "Notifications"
}
},
{
"label": "Voice Mode",
"link": "/voice/",
"translations": {
"uk": "Голосовий режим",
"zh-CN": "语音模式",
"es": "Modo de voz",
"pt-BR": "Modo de voz",
"ko": "음성 모드",
"pl": "Tryb głosowy",
"fr": "Mode vocal"
}
},
{
"label": "Project Icons",
"link": "/project-icons/",
"translations": {
"uk": "Іконки проєктів",
"zh-CN": "项目图标",
"es": "Iconos de proyecto",
"pt-BR": "Ícones de projeto",
"ko": "프로젝트 아이콘",
"pl": "Ikony projektów",
"fr": "Icônes de projet"
}
}
]
},
{
"label": "Desktop",
"translations": {
"uk": "Десктоп",
"zh-CN": "桌面端",
"es": "Escritorio",
"pt-BR": "Desktop",
"ko": "데스크톱",
"pl": "Pulpit",
"fr": "Desktop"
},
"items": [
{
"label": "Remote Instances",
"link": "/remote-instances/",
"translations": {
"uk": "Віддалені інстанси",
"zh-CN": "远程实例",
"es": "Instancias remotas",
"pt-BR": "Instâncias remotas",
"ko": "원격 인스턴스",
"pl": "Zdalne instancje",
"fr": "Instances distantes"
}
},
{
"label": "Desktop Browser",
"link": "/desktop-browser/",
"translations": {
"uk": "Десктопний браузер",
"zh-CN": "桌面浏览器",
"es": "Navegador de escritorio",
"pt-BR": "Navegador desktop",
"ko": "데스크톱 브라우저",
"pl": "Przeglądarka na pulpicie",
"fr": "Navigateur desktop"
}
},
{
"label": "Desktop Tunnels",
"link": "/desktop-tunnels/",
"translations": {
"uk": "Десктопні тунелі",
"zh-CN": "桌面端隧道",
"es": "Túneles de escritorio",
"pt-BR": "Túneis no desktop",
"ko": "데스크톱 터널",
"pl": "Tunele w aplikacji desktopowej",
"fr": "Tunnels desktop"
}
},
{
"label": "SSH Hosts & Proxying",
"link": "/ssh-hosts-proxying/",
"translations": {
"uk": "SSH-хости та проксі",
"zh-CN": "SSH 主机与代理",
"es": "Hosts SSH y proxy",
"pt-BR": "Hosts SSH e proxy",
"ko": "SSH 호스트 및 프록시",
"pl": "Hosty SSH i proxy",
"fr": "Hosts SSH et proxy"
}
},
{
"label": "Updates",
"link": "/updates/",
"translations": {
"uk": "Оновлення",
"zh-CN": "更新",
"es": "Actualizaciones",
"pt-BR": "Atualizações",
"ko": "업데이트",
"pl": "Aktualizacje",
"fr": "Mises à jour"
}
}
]
},
{
"label": "Help",
"translations": {
"uk": "Допомога",
"zh-CN": "帮助",
"es": "Ayuda",
"pt-BR": "Ajuda",
"ko": "도움말",
"pl": "Pomoc",
"fr": "Aide"
},
"items": [
{
"label": "Troubleshooting",
"link": "/troubleshooting/",
"translations": {
"uk": "Усунення несправностей",
"zh-CN": "问题排查",
"es": "Resolución de problemas",
"pt-BR": "Solução de problemas",
"ko": "문제 해결",
"pl": "Rozwiązywanie problemów",
"fr": "Dépannage"
}
},
{
"label": "OpenCode Connection",
"link": "/troubleshooting/opencode-connection/",
"translations": {
"uk": "Підключення до OpenCode",
"zh-CN": "OpenCode 连接",
"es": "Conexión con OpenCode",
"pt-BR": "Conexão com o OpenCode",
"ko": "OpenCode 연결",
"pl": "Połączenie z OpenCode",
"fr": "Connexion à OpenCode"
}
},
{
"label": "Worktrees & Git",
"link": "/troubleshooting/worktrees-git/",
"translations": {
"uk": "Worktree та Git",
"zh-CN": "Worktree 与 Git",
"es": "Worktrees y Git",
"pt-BR": "Worktrees e Git",
"ko": "Worktree 및 Git",
"pl": "Worktree i Git",
"fr": "Worktrees et Git"
}
},
{
"label": "Remote Access",
"link": "/troubleshooting/remote-access/",
"translations": {
"uk": "Віддалений доступ",
"zh-CN": "远程访问",
"es": "Acceso remoto",
"pt-BR": "Acesso remoto",
"ko": "원격 접속",
"pl": "Dostęp zdalny",
"fr": "Accès distant"
}
}
]
}
]
}