Vendor OpenClaw source as Adolf fork baseline
Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Adolf is a fork/vendored clone of github.com/openclaw/openclaw (v2026.6.11), free to diverge. Tree copied sans upstream .git; upstream remote added for future syncs. Node pinned to 24 (.nvmrc); engines already require >=22.19. Preserves docs/ARCHITECTURE.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeqyaxJF2nbRXJtae2kNB2
This commit is contained in:
81
docs/.i18n/README.md
Normal file
81
docs/.i18n/README.md
Normal file
@@ -0,0 +1,81 @@
|
||||
# OpenClaw docs i18n assets
|
||||
|
||||
This folder stores translation config for the source docs repo.
|
||||
|
||||
Generated locale trees and live translation memory now live in the publish repo:
|
||||
|
||||
- repo: `openclaw/docs`
|
||||
- local checkout: `~/Projects/openclaw-docs`
|
||||
|
||||
## Source of truth
|
||||
|
||||
- English docs are authored in `openclaw/openclaw`.
|
||||
- The source docs tree lives under `docs/`.
|
||||
- The source repo no longer keeps committed generated locale trees such as `docs/zh-CN/**`, `docs/zh-TW/**`, `docs/ja-JP/**`, `docs/es/**`, `docs/pt-BR/**`, `docs/ko/**`, `docs/de/**`, `docs/fr/**`, `docs/hi/**`, `docs/ar/**`, `docs/it/**`, `docs/vi/**`, `docs/nl/**`, `docs/fa/**`, `docs/ru/**`, `docs/tr/**`, `docs/uk/**`, `docs/id/**`, `docs/pl/**`, or `docs/th/**`.
|
||||
|
||||
## End-to-end flow
|
||||
|
||||
1. Edit English docs in `openclaw/openclaw`.
|
||||
2. Push to `main`.
|
||||
3. `openclaw/openclaw/.github/workflows/docs-sync-publish.yml` mirrors the docs tree into `openclaw/docs`.
|
||||
4. The sync script rewrites the publish `docs/docs.json` so the generated locale picker blocks exist there even though they are no longer committed in the source repo.
|
||||
5. `openclaw/docs/.github/workflows/translate-all.yml` waits for `main` to settle, translates only stale or missing locale pages, and uploads per-locale artifacts.
|
||||
6. The publish repo finalizer applies successful locale artifacts and pushes one aggregate `chore(i18n): refresh translations` commit.
|
||||
7. A weekly `full` run reconciles every locale/page path so flaky model failures are retried without making hot docs commits wait.
|
||||
|
||||
## Why the split exists
|
||||
|
||||
- Keep generated locale output out of the main product repo.
|
||||
- Keep Mintlify on a single published docs tree.
|
||||
- Preserve the built-in language switcher for Mintlify-supported generated locales by letting the publish repo own generated locale trees.
|
||||
- Keep generated Thai (`th`) and Persian (`fa`) docs plus translation memory even though Mintlify does not currently accept those codes in `navigation.languages`. Their absence from the built-in docs language picker is a host limitation, not a failed translation run.
|
||||
|
||||
## Locale visibility
|
||||
|
||||
- Control UI supports `en`, `zh-CN`, `zh-TW`, `pt-BR`, `de`, `es`, `ja-JP`, `ko`, `fr`, `hi`, `ar`, `it`, `vi`, `nl`, `fa`, `ru`, `tr`, `uk`, `id`, `pl`, and `th`.
|
||||
- Docs translation workflows generate the same non-English locale set in `openclaw/docs`.
|
||||
- The Mintlify docs language picker can expose only the locales accepted by Mintlify `navigation.languages`; Russian (`ru`) and Hindi (`hi`) are now included in the publish configuration.
|
||||
- Do not treat locale visibility in generated `docs/docs.json` as proof that translation artifacts exist. Verify each generated locale folder and its translation memory in `openclaw/docs`.
|
||||
|
||||
## Files in this folder
|
||||
|
||||
- `glossary.<lang>.json` — preferred term mappings used as prompt guidance.
|
||||
- `zh-Hans-navigation.json` — curated zh-Hans Mintlify locale navigation reinserted into the publish repo during sync.
|
||||
- `ar-navigation.json`, `de-navigation.json`, `es-navigation.json`, `fr-navigation.json`, `id-navigation.json`, `it-navigation.json`, `ja-navigation.json`, `ko-navigation.json`, `pl-navigation.json`, `pt-BR-navigation.json`, and `tr-navigation.json` — starter locale metadata kept alongside the source repo, but the publish sync now clones the full English nav tree for clone-en locales so translated pages are visible in Mintlify without hand-maintaining per-locale nav JSON.
|
||||
- `<lang>.tm.jsonl` — translation memory keyed by workflow + model + text hash.
|
||||
|
||||
In this repo, generated locale TM files such as `docs/.i18n/zh-CN.tm.jsonl`, `docs/.i18n/zh-TW.tm.jsonl`, `docs/.i18n/ja-JP.tm.jsonl`, `docs/.i18n/es.tm.jsonl`, `docs/.i18n/pt-BR.tm.jsonl`, `docs/.i18n/ko.tm.jsonl`, `docs/.i18n/de.tm.jsonl`, `docs/.i18n/fr.tm.jsonl`, `docs/.i18n/ar.tm.jsonl`, `docs/.i18n/it.tm.jsonl`, `docs/.i18n/vi.tm.jsonl`, `docs/.i18n/nl.tm.jsonl`, `docs/.i18n/fa.tm.jsonl`, `docs/.i18n/tr.tm.jsonl`, `docs/.i18n/uk.tm.jsonl`, `docs/.i18n/id.tm.jsonl`, `docs/.i18n/pl.tm.jsonl`, and `docs/.i18n/th.tm.jsonl` are intentionally no longer committed.
|
||||
|
||||
## Glossary format
|
||||
|
||||
`glossary.<lang>.json` is an array of entries:
|
||||
|
||||
```json
|
||||
{
|
||||
"source": "troubleshooting",
|
||||
"target": "故障排除"
|
||||
}
|
||||
```
|
||||
|
||||
Fields:
|
||||
|
||||
- `source`: English (or source) phrase to prefer.
|
||||
- `target`: preferred translation output.
|
||||
|
||||
## Translation mechanics
|
||||
|
||||
- `scripts/docs-i18n` still owns translation generation.
|
||||
- Doc mode writes `x-i18n.source_hash` into each translated page.
|
||||
- The publish workflow precomputes a pending file list by comparing the current English source hash to the stored locale `x-i18n.source_hash`.
|
||||
- If the pending count is `0`, the expensive translation step is skipped entirely.
|
||||
- If there are pending files, the workflow translates only those files.
|
||||
- Locale workers retry transient model-format failures, but unchanged files stay skipped because the same hash check runs on each retry.
|
||||
- Locale workers upload artifacts; the publish repo finalizer commits all successful locale outputs together.
|
||||
- Published GitHub releases dispatch one aggregate translation refresh so release docs can catch up without waiting for the weekly reconciliation.
|
||||
|
||||
## Operational notes
|
||||
|
||||
- Sync metadata is written to `.openclaw-sync/source.json` in the publish repo.
|
||||
- Source repo secret: `OPENCLAW_DOCS_SYNC_TOKEN`
|
||||
- Publish repo secret: `OPENCLAW_DOCS_I18N_OPENAI_API_KEY`
|
||||
- If locale output looks stale, check the `Translate All` workflow in `openclaw/docs` first.
|
||||
18
docs/.i18n/ar-navigation.json
Normal file
18
docs/.i18n/ar-navigation.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"language": "ar",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "ابدأ",
|
||||
"groups": [
|
||||
{
|
||||
"group": "نظرة عامة",
|
||||
"pages": ["ar/index"]
|
||||
},
|
||||
{
|
||||
"group": "الخطوات الأولى",
|
||||
"pages": ["ar/start/getting-started", "ar/start/wizard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
18
docs/.i18n/de-navigation.json
Normal file
18
docs/.i18n/de-navigation.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"language": "de",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "Loslegen",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Überblick",
|
||||
"pages": ["de/index"]
|
||||
},
|
||||
{
|
||||
"group": "Erste Schritte",
|
||||
"pages": ["de/start/getting-started", "de/start/wizard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
18
docs/.i18n/es-navigation.json
Normal file
18
docs/.i18n/es-navigation.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"language": "es",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "Comenzar",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Resumen",
|
||||
"pages": ["es/index"]
|
||||
},
|
||||
{
|
||||
"group": "Primeros pasos",
|
||||
"pages": ["es/start/getting-started", "es/start/wizard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
18
docs/.i18n/fr-navigation.json
Normal file
18
docs/.i18n/fr-navigation.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"language": "fr",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "Commencer",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Vue d'ensemble",
|
||||
"pages": ["fr/index"]
|
||||
},
|
||||
{
|
||||
"group": "Premiers pas",
|
||||
"pages": ["fr/start/getting-started", "fr/start/wizard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
82
docs/.i18n/glossary.ar.json
Normal file
82
docs/.i18n/glossary.ar.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.de.json
Normal file
82
docs/.i18n/glossary.de.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.es.json
Normal file
82
docs/.i18n/glossary.es.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.fa.json
Normal file
82
docs/.i18n/glossary.fa.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.fr.json
Normal file
82
docs/.i18n/glossary.fr.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.hi.json
Normal file
82
docs/.i18n/glossary.hi.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.id.json
Normal file
82
docs/.i18n/glossary.id.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.it.json
Normal file
82
docs/.i18n/glossary.it.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
102
docs/.i18n/glossary.ja-JP.json
Normal file
102
docs/.i18n/glossary.ja-JP.json
Normal file
@@ -0,0 +1,102 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Getting Started",
|
||||
"target": "はじめに"
|
||||
},
|
||||
{
|
||||
"source": "Getting started",
|
||||
"target": "はじめに"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "local loopback",
|
||||
"target": "local loopback"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "Onboarding",
|
||||
"target": "オンボーディング"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Quick start",
|
||||
"target": "クイックスタート"
|
||||
},
|
||||
{
|
||||
"source": "Quick Start",
|
||||
"target": "クイックスタート"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
},
|
||||
{
|
||||
"source": "wizard",
|
||||
"target": "ウィザード"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.ko.json
Normal file
82
docs/.i18n/glossary.ko.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.nl.json
Normal file
82
docs/.i18n/glossary.nl.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.pl.json
Normal file
82
docs/.i18n/glossary.pl.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.pt-BR.json
Normal file
82
docs/.i18n/glossary.pt-BR.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.ru.json
Normal file
82
docs/.i18n/glossary.ru.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.th.json
Normal file
82
docs/.i18n/glossary.th.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.tr.json
Normal file
82
docs/.i18n/glossary.tr.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.uk.json
Normal file
82
docs/.i18n/glossary.uk.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
82
docs/.i18n/glossary.vi.json
Normal file
82
docs/.i18n/glossary.vi.json
Normal file
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "Active Memory"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "CLI"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "Compaction"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "Cron"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "Dreaming"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "Gateway"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "Heartbeat"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "Node"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "Plugin"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "TUI"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "Webhook"
|
||||
}
|
||||
]
|
||||
1386
docs/.i18n/glossary.zh-CN.json
Normal file
1386
docs/.i18n/glossary.zh-CN.json
Normal file
File diff suppressed because it is too large
Load Diff
162
docs/.i18n/glossary.zh-TW.json
Normal file
162
docs/.i18n/glossary.zh-TW.json
Normal file
@@ -0,0 +1,162 @@
|
||||
[
|
||||
{
|
||||
"source": "ACP",
|
||||
"target": "ACP"
|
||||
},
|
||||
{
|
||||
"source": "Active Memory",
|
||||
"target": "主動記憶"
|
||||
},
|
||||
{
|
||||
"source": "ClawHub",
|
||||
"target": "ClawHub"
|
||||
},
|
||||
{
|
||||
"source": "ClickClack",
|
||||
"target": "ClickClack"
|
||||
},
|
||||
{
|
||||
"source": "CLI",
|
||||
"target": "命令列介面"
|
||||
},
|
||||
{
|
||||
"source": "Compaction",
|
||||
"target": "壓縮"
|
||||
},
|
||||
{
|
||||
"source": "Cron",
|
||||
"target": "排程"
|
||||
},
|
||||
{
|
||||
"source": "Dreaming",
|
||||
"target": "夢境整理"
|
||||
},
|
||||
{
|
||||
"source": "Gateway",
|
||||
"target": "閘道"
|
||||
},
|
||||
{
|
||||
"source": "Heartbeat",
|
||||
"target": "心跳偵測"
|
||||
},
|
||||
{
|
||||
"source": "Feishu",
|
||||
"target": "Feishu"
|
||||
},
|
||||
{
|
||||
"source": "IRC",
|
||||
"target": "IRC"
|
||||
},
|
||||
{
|
||||
"source": "LINE",
|
||||
"target": "LINE"
|
||||
},
|
||||
{
|
||||
"source": "Mattermost",
|
||||
"target": "Mattermost"
|
||||
},
|
||||
{
|
||||
"source": "Mintlify",
|
||||
"target": "Mintlify"
|
||||
},
|
||||
{
|
||||
"source": "Nextcloud Talk",
|
||||
"target": "Nextcloud Talk"
|
||||
},
|
||||
{
|
||||
"source": "Node",
|
||||
"target": "節點"
|
||||
},
|
||||
{
|
||||
"source": "Nostr",
|
||||
"target": "Nostr"
|
||||
},
|
||||
{
|
||||
"source": "OpenClaw",
|
||||
"target": "OpenClaw"
|
||||
},
|
||||
{
|
||||
"source": "Pi",
|
||||
"target": "Pi"
|
||||
},
|
||||
{
|
||||
"source": "Plugin",
|
||||
"target": "外掛"
|
||||
},
|
||||
{
|
||||
"source": "QQ Bot",
|
||||
"target": "QQ Bot"
|
||||
},
|
||||
{
|
||||
"source": "QQBot",
|
||||
"target": "QQ Bot"
|
||||
},
|
||||
{
|
||||
"source": "QQ bot",
|
||||
"target": "QQ Bot"
|
||||
},
|
||||
{
|
||||
"source": "SMS",
|
||||
"target": "SMS"
|
||||
},
|
||||
{
|
||||
"source": "Skills",
|
||||
"target": "Skills"
|
||||
},
|
||||
{
|
||||
"source": "Synology Chat",
|
||||
"target": "Synology Chat"
|
||||
},
|
||||
{
|
||||
"source": "Tailscale",
|
||||
"target": "Tailscale"
|
||||
},
|
||||
{
|
||||
"source": "TaskFlow",
|
||||
"target": "TaskFlow"
|
||||
},
|
||||
{
|
||||
"source": "Tlon",
|
||||
"target": "Tlon"
|
||||
},
|
||||
{
|
||||
"source": "Twitch",
|
||||
"target": "Twitch"
|
||||
},
|
||||
{
|
||||
"source": "Twilio",
|
||||
"target": "Twilio"
|
||||
},
|
||||
{
|
||||
"source": "TUI",
|
||||
"target": "終端介面"
|
||||
},
|
||||
{
|
||||
"source": "WeChat",
|
||||
"target": "微信"
|
||||
},
|
||||
{
|
||||
"source": "Weixin",
|
||||
"target": "微信"
|
||||
},
|
||||
{
|
||||
"source": "Webhook",
|
||||
"target": "網路鉤子"
|
||||
},
|
||||
{
|
||||
"source": "Yuanbao",
|
||||
"target": "騰訊元寶"
|
||||
},
|
||||
{
|
||||
"source": "Zalo",
|
||||
"target": "Zalo"
|
||||
},
|
||||
{
|
||||
"source": "Zalo Personal",
|
||||
"target": "Zalo Personal"
|
||||
},
|
||||
{
|
||||
"source": "Zalo personal",
|
||||
"target": "Zalo Personal"
|
||||
}
|
||||
]
|
||||
18
docs/.i18n/id-navigation.json
Normal file
18
docs/.i18n/id-navigation.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"language": "id",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "Mulai",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Ringkasan",
|
||||
"pages": ["id/index"]
|
||||
},
|
||||
{
|
||||
"group": "Langkah pertama",
|
||||
"pages": ["id/start/getting-started", "id/start/wizard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
18
docs/.i18n/it-navigation.json
Normal file
18
docs/.i18n/it-navigation.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"language": "it",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "Inizia",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Panoramica",
|
||||
"pages": ["it/index"]
|
||||
},
|
||||
{
|
||||
"group": "Primi passi",
|
||||
"pages": ["it/start/getting-started", "it/start/wizard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
18
docs/.i18n/ja-navigation.json
Normal file
18
docs/.i18n/ja-navigation.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"language": "ja",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "はじめに",
|
||||
"groups": [
|
||||
{
|
||||
"group": "概要",
|
||||
"pages": ["ja-JP/index"]
|
||||
},
|
||||
{
|
||||
"group": "初回セットアップ",
|
||||
"pages": ["ja-JP/start/getting-started", "ja-JP/start/wizard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
18
docs/.i18n/ko-navigation.json
Normal file
18
docs/.i18n/ko-navigation.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"language": "ko",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "시작하기",
|
||||
"groups": [
|
||||
{
|
||||
"group": "개요",
|
||||
"pages": ["ko/index"]
|
||||
},
|
||||
{
|
||||
"group": "첫 단계",
|
||||
"pages": ["ko/start/getting-started", "ko/start/wizard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
18
docs/.i18n/pl-navigation.json
Normal file
18
docs/.i18n/pl-navigation.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"language": "pl",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "Start",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Przeglad",
|
||||
"pages": ["pl/index"]
|
||||
},
|
||||
{
|
||||
"group": "Pierwsze kroki",
|
||||
"pages": ["pl/start/getting-started", "pl/start/wizard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
18
docs/.i18n/pt-BR-navigation.json
Normal file
18
docs/.i18n/pt-BR-navigation.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"language": "pt-BR",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "Começar",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Visão geral",
|
||||
"pages": ["pt-BR/index"]
|
||||
},
|
||||
{
|
||||
"group": "Primeiros passos",
|
||||
"pages": ["pt-BR/start/getting-started", "pt-BR/start/wizard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
18
docs/.i18n/tr-navigation.json
Normal file
18
docs/.i18n/tr-navigation.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"language": "tr",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "Baslangic",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Genel bakis",
|
||||
"pages": ["tr/index"]
|
||||
},
|
||||
{
|
||||
"group": "Ilk adimlar",
|
||||
"pages": ["tr/start/getting-started", "tr/start/wizard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
111
docs/.i18n/translation-workflow.md
Normal file
111
docs/.i18n/translation-workflow.md
Normal file
@@ -0,0 +1,111 @@
|
||||
# Translation workflow
|
||||
|
||||
Internal note for the docs publish pipeline. This file is under `docs/.i18n`, which is ignored by the docs-site build and is not published.
|
||||
|
||||
## Goals
|
||||
|
||||
- English docs deploy quickly after every source docs sync.
|
||||
- Locale translation does not run for every hot `main` commit.
|
||||
- Translation work is debounced so a burst of docs commits becomes one translation wave.
|
||||
- Locale jobs translate only pages whose source hash changed since the last successful locale output.
|
||||
- Successful locale outputs are committed together, even if one or more locale jobs fail.
|
||||
- A weekly reconciliation reruns every locale/page path to repair missed or flaky translations.
|
||||
|
||||
## Event flow
|
||||
|
||||
1. `openclaw/openclaw` syncs English docs into `openclaw/docs`.
|
||||
2. GitHub Pages deploys English/source changes immediately from the sync commit.
|
||||
3. `Translate All` is triggered by the sync commit, release dispatch, manual dispatch, or weekly schedule.
|
||||
4. The coordinator waits a cooldown window before starting translation.
|
||||
5. After the cooldown, the coordinator reads the current `origin/main` source metadata.
|
||||
6. If a newer docs sync arrived during cooldown, the coordinator uses the newer source state.
|
||||
7. Per-locale translation jobs run in parallel with `fail-fast: false`.
|
||||
8. Each locale job uploads an artifact for the requested source SHA.
|
||||
9. The finalizer downloads available artifacts, ignores stale or failed payloads, and pushes one aggregate i18n commit.
|
||||
10. After the aggregate commit lands, the finalizer dispatches the Pages deploy once.
|
||||
11. The Pages workflow dispatches live smoke after deployment.
|
||||
|
||||
## Debounce policy
|
||||
|
||||
The coordinator waits 1 hour after a docs sync or release dispatch, then re-reads `origin/main`.
|
||||
|
||||
The default cooldown is controlled by the publish repo variable `OPENCLAW_DOCS_TRANSLATION_COOLDOWN_SECONDS`, which defaults to `3600`. Repository dispatch callers may override it with `client_payload.cooldown_seconds`, and manual runs may set `cooldown_seconds`.
|
||||
|
||||
If `.openclaw-sync/source.json` changed during the wait, it waits again from the newer state. If `main` keeps moving, the wait is capped by `OPENCLAW_DOCS_TRANSLATION_MAX_WAIT_SECONDS`, which defaults to the cooldown value. The newest observed state is translated after the cap.
|
||||
|
||||
Manual and weekly runs do not wait by default.
|
||||
|
||||
## Incremental translation
|
||||
|
||||
Each translated page stores `x-i18n.source_hash`. Locale jobs compare the current English page hash with the stored locale hash.
|
||||
|
||||
Normal runs translate only:
|
||||
|
||||
- missing locale pages
|
||||
- locale pages with stale `x-i18n.source_hash`
|
||||
- pages affected by source deletion/pruning
|
||||
|
||||
Internal files under `docs/.i18n/**` are not translation inputs. Push-triggered runs that only change internal i18n files skip before the locale matrix.
|
||||
|
||||
If a locale job fails, its artifact is marked failed and carries no payload. The finalizer still commits successful locales. The failed locale remains stale and is picked up by the next incremental run because its source hashes still do not match.
|
||||
|
||||
## Artifact contract
|
||||
|
||||
Each locale job uploads one artifact named with locale and source SHA:
|
||||
|
||||
```text
|
||||
i18n-zh-cn-<source-sha>
|
||||
```
|
||||
|
||||
Artifact contents:
|
||||
|
||||
```text
|
||||
metadata.json
|
||||
changed-files.txt
|
||||
deleted-files.txt
|
||||
payload/docs/<locale>/**
|
||||
payload/docs/.i18n/<locale>.tm.jsonl
|
||||
```
|
||||
|
||||
`metadata.json` includes the locale, locale slug, source SHA, pending count, changed count, and any failure reason. The finalizer rejects artifacts whose `source_sha` does not match the current `.openclaw-sync/source.json`.
|
||||
|
||||
The source repo release workflow dispatches one `translate-all-release` event. The coordinator still accepts old per-locale release events for compatibility, but those are only a fallback.
|
||||
|
||||
## Aggregate commit
|
||||
|
||||
The finalizer owns the only locale push in the normal path.
|
||||
|
||||
Commit message:
|
||||
|
||||
```text
|
||||
chore(i18n): refresh translations
|
||||
```
|
||||
|
||||
The commit may contain a partial locale set. The job summary lists applied locales, locales with no changes, missing or failed locales, stale artifacts, and invalid artifacts.
|
||||
|
||||
## Weekly reconciliation
|
||||
|
||||
The weekly run uses `full` mode. It forces a full reconciliation across every locale and every source page instead of relying only on changed source hashes.
|
||||
|
||||
Glossary changes also force full reconciliation because glossary guidance can affect pages whose source hashes did not change.
|
||||
|
||||
Expected behavior:
|
||||
|
||||
- regenerate or verify every locale page
|
||||
- prune stale locale pages
|
||||
- refresh translation memory as needed
|
||||
- still use parallel locale jobs
|
||||
- still commit one aggregate result
|
||||
- still tolerate individual locale failures
|
||||
|
||||
The weekly run is the repair mechanism for LLM flakiness, partial failures, and missed incremental updates.
|
||||
|
||||
## Deployment policy
|
||||
|
||||
English deploys from source sync commits.
|
||||
|
||||
Translations deploy after the aggregate i18n commit. The finalizer dispatches GitHub Pages once because GitHub suppresses normal push-triggered workflow runs from `GITHUB_TOKEN` commits. The Pages workflow dispatches live smoke after deployment so the smoke test checks the deployed site instead of racing the deploy.
|
||||
|
||||
A hot docs day should produce many fast English deploys, but only a small number of locale deploys.
|
||||
|
||||
If external deploy providers such as Mintlify watch every push, the aggregate i18n commit is the load reducer. Avoid restoring per-locale pushes to `main`.
|
||||
552
docs/.i18n/zh-Hans-navigation.json
Normal file
552
docs/.i18n/zh-Hans-navigation.json
Normal file
@@ -0,0 +1,552 @@
|
||||
{
|
||||
"language": "zh-Hans",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "快速开始",
|
||||
"groups": [
|
||||
{
|
||||
"group": "首页",
|
||||
"pages": ["zh-CN/index"]
|
||||
},
|
||||
{
|
||||
"group": "概览",
|
||||
"pages": ["zh-CN/start/showcase"]
|
||||
},
|
||||
{
|
||||
"group": "核心概念",
|
||||
"pages": ["zh-CN/concepts/features"]
|
||||
},
|
||||
{
|
||||
"group": "第一步",
|
||||
"pages": ["zh-CN/start/getting-started", "zh-CN/start/wizard", "zh-CN/start/onboarding"]
|
||||
},
|
||||
{
|
||||
"group": "指南",
|
||||
"pages": ["zh-CN/start/openclaw"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "安装",
|
||||
"groups": [
|
||||
{
|
||||
"group": "安装概览",
|
||||
"pages": ["zh-CN/install/index", "zh-CN/install/installer"]
|
||||
},
|
||||
{
|
||||
"group": "安装方式",
|
||||
"pages": [
|
||||
"zh-CN/install/docker",
|
||||
"zh-CN/install/nix",
|
||||
"zh-CN/install/ansible",
|
||||
"zh-CN/install/bun"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "维护",
|
||||
"pages": ["zh-CN/install/updating", "zh-CN/install/migrating", "zh-CN/install/uninstall"]
|
||||
},
|
||||
{
|
||||
"group": "托管与部署",
|
||||
"pages": [
|
||||
"zh-CN/vps",
|
||||
"zh-CN/install/fly",
|
||||
"zh-CN/install/hetzner",
|
||||
"zh-CN/install/gcp",
|
||||
"zh-CN/install/macos-vm",
|
||||
"zh-CN/install/exe-dev",
|
||||
"zh-CN/install/railway",
|
||||
"zh-CN/install/render",
|
||||
"zh-CN/install/northflank"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "高级",
|
||||
"pages": ["zh-CN/install/development-channels"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "消息渠道",
|
||||
"groups": [
|
||||
{
|
||||
"group": "概览",
|
||||
"pages": ["zh-CN/channels/index"]
|
||||
},
|
||||
{
|
||||
"group": "消息平台",
|
||||
"pages": [
|
||||
"zh-CN/channels/discord",
|
||||
"zh-CN/channels/feishu",
|
||||
"zh-CN/channels/grammy",
|
||||
"zh-CN/channels/googlechat",
|
||||
"zh-CN/channels/imessage",
|
||||
"zh-CN/channels/line",
|
||||
"zh-CN/channels/matrix",
|
||||
"zh-CN/channels/mattermost",
|
||||
"zh-CN/channels/msteams",
|
||||
"zh-CN/channels/nextcloud-talk",
|
||||
"zh-CN/channels/nostr",
|
||||
"zh-CN/channels/signal",
|
||||
"zh-CN/channels/slack",
|
||||
"zh-CN/channels/telegram",
|
||||
"zh-CN/channels/tlon",
|
||||
"zh-CN/channels/twitch",
|
||||
"zh-CN/channels/whatsapp",
|
||||
"zh-CN/channels/zalo",
|
||||
"zh-CN/channels/zalouser"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "配置",
|
||||
"pages": [
|
||||
"zh-CN/channels/pairing",
|
||||
"zh-CN/channels/group-messages",
|
||||
"zh-CN/channels/groups",
|
||||
"zh-CN/channels/broadcast-groups",
|
||||
"zh-CN/channels/channel-routing",
|
||||
"zh-CN/channels/location",
|
||||
"zh-CN/channels/troubleshooting"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "代理",
|
||||
"groups": [
|
||||
{
|
||||
"group": "基础",
|
||||
"pages": [
|
||||
"zh-CN/pi",
|
||||
"zh-CN/concepts/architecture",
|
||||
"zh-CN/concepts/agent",
|
||||
"zh-CN/concepts/agent-loop",
|
||||
"zh-CN/concepts/system-prompt",
|
||||
"zh-CN/concepts/context",
|
||||
"zh-CN/concepts/agent-workspace",
|
||||
"zh-CN/concepts/oauth"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "引导",
|
||||
"pages": ["zh-CN/start/bootstrapping"]
|
||||
},
|
||||
{
|
||||
"group": "会话与记忆",
|
||||
"pages": [
|
||||
"zh-CN/concepts/session",
|
||||
"zh-CN/concepts/session-pruning",
|
||||
"zh-CN/concepts/session-tool",
|
||||
{
|
||||
"group": "记忆",
|
||||
"pages": [
|
||||
"zh-CN/concepts/memory",
|
||||
"zh-CN/concepts/memory-builtin",
|
||||
"zh-CN/concepts/memory-qmd",
|
||||
"zh-CN/concepts/memory-honcho",
|
||||
"zh-CN/concepts/memory-search",
|
||||
"zh-CN/concepts/active-memory",
|
||||
"zh-CN/concepts/dreaming"
|
||||
]
|
||||
},
|
||||
"zh-CN/concepts/compaction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "多代理",
|
||||
"pages": ["zh-CN/concepts/multi-agent", "zh-CN/concepts/presence"]
|
||||
},
|
||||
{
|
||||
"group": "消息与投递",
|
||||
"pages": [
|
||||
"zh-CN/concepts/messages",
|
||||
"zh-CN/concepts/streaming",
|
||||
"zh-CN/concepts/retry",
|
||||
"zh-CN/concepts/queue"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "工具",
|
||||
"groups": [
|
||||
{
|
||||
"group": "概览",
|
||||
"pages": ["zh-CN/tools/index"]
|
||||
},
|
||||
{
|
||||
"group": "内置工具",
|
||||
"pages": [
|
||||
"zh-CN/tools/apply-patch",
|
||||
"zh-CN/brave-search",
|
||||
"zh-CN/tools/elevated",
|
||||
"zh-CN/tools/exec",
|
||||
"zh-CN/tools/exec-approvals",
|
||||
"zh-CN/tools/firecrawl",
|
||||
"zh-CN/tools/llm-task",
|
||||
"zh-CN/tools/lobster",
|
||||
"zh-CN/perplexity",
|
||||
"zh-CN/tools/reactions",
|
||||
"zh-CN/tools/thinking",
|
||||
"zh-CN/tools/web"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "浏览器",
|
||||
"pages": [
|
||||
"zh-CN/tools/browser",
|
||||
"zh-CN/tools/browser-login",
|
||||
"zh-CN/tools/browser-linux-troubleshooting"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "代理协作",
|
||||
"pages": [
|
||||
"zh-CN/tools/agent-send",
|
||||
"zh-CN/tools/subagents",
|
||||
"zh-CN/tools/multi-agent-sandbox-tools"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "技能",
|
||||
"pages": [
|
||||
"zh-CN/tools/creating-skills",
|
||||
"zh-CN/tools/slash-commands",
|
||||
"zh-CN/tools/skills",
|
||||
"zh-CN/tools/skills-config",
|
||||
"zh-CN/tools/plugin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "扩展",
|
||||
"pages": [
|
||||
"zh-CN/plugins/voice-call",
|
||||
"zh-CN/plugins/zalouser",
|
||||
"zh-CN/plugins/manifest",
|
||||
"zh-CN/plugins/agent-tools",
|
||||
"zh-CN/prose"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "自动化与任务",
|
||||
"pages": ["zh-CN/automation/hooks", "zh-CN/automation/cron-jobs"]
|
||||
},
|
||||
{
|
||||
"group": "媒体与设备",
|
||||
"pages": [
|
||||
"zh-CN/nodes/index",
|
||||
"zh-CN/nodes/troubleshooting",
|
||||
"zh-CN/nodes/media-understanding",
|
||||
"zh-CN/nodes/images",
|
||||
"zh-CN/nodes/audio",
|
||||
"zh-CN/nodes/camera",
|
||||
"zh-CN/nodes/talk",
|
||||
"zh-CN/nodes/voicewake",
|
||||
"zh-CN/nodes/location-command",
|
||||
"zh-CN/tts"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "模型",
|
||||
"groups": [
|
||||
{
|
||||
"group": "概览",
|
||||
"pages": ["zh-CN/providers/index", "zh-CN/providers/models"]
|
||||
},
|
||||
{
|
||||
"group": "模型概念",
|
||||
"pages": ["zh-CN/concepts/models"]
|
||||
},
|
||||
{
|
||||
"group": "配置",
|
||||
"pages": ["zh-CN/concepts/model-providers", "zh-CN/concepts/model-failover"]
|
||||
},
|
||||
{
|
||||
"group": "提供商",
|
||||
"pages": [
|
||||
"zh-CN/providers/anthropic",
|
||||
"zh-CN/providers/bedrock",
|
||||
"zh-CN/providers/claude-max-api-proxy",
|
||||
"zh-CN/providers/deepgram",
|
||||
"zh-CN/providers/github-copilot",
|
||||
"zh-CN/providers/moonshot",
|
||||
"zh-CN/providers/minimax",
|
||||
"zh-CN/providers/opencode",
|
||||
"zh-CN/providers/ollama",
|
||||
"zh-CN/providers/openai",
|
||||
"zh-CN/providers/openrouter",
|
||||
"zh-CN/providers/qianfan",
|
||||
"zh-CN/providers/qwen",
|
||||
"zh-CN/providers/synthetic",
|
||||
"zh-CN/providers/venice",
|
||||
"zh-CN/providers/vercel-ai-gateway",
|
||||
"zh-CN/providers/xiaomi",
|
||||
"zh-CN/providers/zai"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "平台",
|
||||
"groups": [
|
||||
{
|
||||
"group": "平台概览",
|
||||
"pages": [
|
||||
"zh-CN/platforms/index",
|
||||
"zh-CN/platforms/macos",
|
||||
"zh-CN/platforms/linux",
|
||||
"zh-CN/platforms/windows",
|
||||
"zh-CN/platforms/android",
|
||||
"zh-CN/platforms/ios",
|
||||
"zh-CN/platforms/digitalocean",
|
||||
"zh-CN/platforms/oracle",
|
||||
"zh-CN/platforms/raspberry-pi"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "macOS 配套应用",
|
||||
"pages": [
|
||||
"zh-CN/platforms/mac/dev-setup",
|
||||
"zh-CN/platforms/mac/menu-bar",
|
||||
"zh-CN/platforms/mac/voicewake",
|
||||
"zh-CN/platforms/mac/voice-overlay",
|
||||
"zh-CN/platforms/mac/webchat",
|
||||
"zh-CN/platforms/mac/canvas",
|
||||
"zh-CN/platforms/mac/child-process",
|
||||
"zh-CN/platforms/mac/health",
|
||||
"zh-CN/platforms/mac/icon",
|
||||
"zh-CN/platforms/mac/logging",
|
||||
"zh-CN/platforms/mac/permissions",
|
||||
"zh-CN/platforms/mac/remote",
|
||||
"zh-CN/platforms/mac/signing",
|
||||
"zh-CN/platforms/mac/bundled-gateway",
|
||||
"zh-CN/platforms/mac/xpc",
|
||||
"zh-CN/platforms/mac/skills",
|
||||
"zh-CN/platforms/mac/peekaboo"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "网关与运维",
|
||||
"groups": [
|
||||
{
|
||||
"group": "网关",
|
||||
"pages": [
|
||||
"zh-CN/gateway/index",
|
||||
{
|
||||
"group": "配置与运维",
|
||||
"pages": [
|
||||
"zh-CN/gateway/configuration",
|
||||
"zh-CN/gateway/configuration-examples",
|
||||
"zh-CN/gateway/authentication",
|
||||
"zh-CN/gateway/health",
|
||||
"zh-CN/gateway/heartbeat",
|
||||
"zh-CN/gateway/doctor",
|
||||
"zh-CN/gateway/logging",
|
||||
"zh-CN/gateway/gateway-lock",
|
||||
"zh-CN/gateway/background-process",
|
||||
"zh-CN/gateway/multiple-gateways",
|
||||
"zh-CN/gateway/troubleshooting"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "安全与沙箱",
|
||||
"pages": [
|
||||
"zh-CN/gateway/security/index",
|
||||
"zh-CN/gateway/sandboxing",
|
||||
"zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "协议与 API",
|
||||
"pages": [
|
||||
"zh-CN/gateway/protocol",
|
||||
"zh-CN/gateway/bridge-protocol",
|
||||
"zh-CN/gateway/openai-http-api",
|
||||
"zh-CN/gateway/openresponses-http-api",
|
||||
"zh-CN/gateway/tools-invoke-http-api",
|
||||
"zh-CN/gateway/cli-backends",
|
||||
"zh-CN/gateway/local-models"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "网络与发现",
|
||||
"pages": [
|
||||
"zh-CN/gateway/network-model",
|
||||
"zh-CN/gateway/pairing",
|
||||
"zh-CN/gateway/discovery",
|
||||
"zh-CN/gateway/bonjour"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "远程访问",
|
||||
"pages": [
|
||||
"zh-CN/gateway/remote",
|
||||
"zh-CN/gateway/remote-gateway-readme",
|
||||
"zh-CN/gateway/tailscale"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "运维专题",
|
||||
"pages": ["zh-CN/network", "zh-CN/logging"]
|
||||
},
|
||||
{
|
||||
"group": "安全",
|
||||
"pages": ["zh-CN/security/formal-verification"]
|
||||
},
|
||||
{
|
||||
"group": "Web 界面",
|
||||
"pages": [
|
||||
"zh-CN/web/index",
|
||||
"zh-CN/web/control-ui",
|
||||
"zh-CN/web/dashboard",
|
||||
"zh-CN/web/webchat",
|
||||
"zh-CN/web/tui"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "参考",
|
||||
"groups": [
|
||||
{
|
||||
"group": "CLI 命令",
|
||||
"pages": [
|
||||
"zh-CN/cli/index",
|
||||
"zh-CN/cli/acp",
|
||||
"zh-CN/cli/agent",
|
||||
"zh-CN/cli/agents",
|
||||
"zh-CN/cli/approvals",
|
||||
"zh-CN/cli/browser",
|
||||
"zh-CN/cli/channels",
|
||||
"zh-CN/cli/config",
|
||||
"zh-CN/cli/configure",
|
||||
"zh-CN/cli/cron",
|
||||
"zh-CN/cli/dashboard",
|
||||
"zh-CN/cli/devices",
|
||||
"zh-CN/cli/directory",
|
||||
"zh-CN/cli/dns",
|
||||
"zh-CN/cli/docs",
|
||||
"zh-CN/cli/doctor",
|
||||
"zh-CN/cli/gateway",
|
||||
"zh-CN/cli/health",
|
||||
"zh-CN/cli/hooks",
|
||||
"zh-CN/cli/logs",
|
||||
"zh-CN/cli/memory",
|
||||
"zh-CN/cli/message",
|
||||
"zh-CN/cli/models",
|
||||
"zh-CN/cli/node",
|
||||
"zh-CN/cli/nodes",
|
||||
"zh-CN/cli/onboard",
|
||||
"zh-CN/cli/pairing",
|
||||
"zh-CN/cli/plugins",
|
||||
"zh-CN/cli/reset",
|
||||
"zh-CN/cli/sandbox",
|
||||
"zh-CN/cli/security",
|
||||
"zh-CN/cli/sessions",
|
||||
"zh-CN/cli/setup",
|
||||
"zh-CN/cli/skills",
|
||||
"zh-CN/cli/status",
|
||||
"zh-CN/cli/system",
|
||||
"zh-CN/cli/tui",
|
||||
"zh-CN/cli/uninstall",
|
||||
"zh-CN/cli/update",
|
||||
"zh-CN/cli/voicecall",
|
||||
"zh-CN/cli/webhooks"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "RPC 与 API",
|
||||
"pages": ["zh-CN/reference/rpc", "zh-CN/reference/device-models"]
|
||||
},
|
||||
{
|
||||
"group": "模板",
|
||||
"pages": [
|
||||
"zh-CN/reference/AGENTS.default",
|
||||
"zh-CN/reference/templates/AGENTS",
|
||||
"zh-CN/reference/templates/BOOT",
|
||||
"zh-CN/reference/templates/BOOTSTRAP",
|
||||
"zh-CN/reference/templates/HEARTBEAT",
|
||||
"zh-CN/reference/templates/IDENTITY",
|
||||
"zh-CN/reference/templates/SOUL",
|
||||
"zh-CN/reference/templates/TOOLS",
|
||||
"zh-CN/reference/templates/USER"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "技术参考",
|
||||
"pages": [
|
||||
"zh-CN/reference/wizard",
|
||||
"zh-CN/reference/token-use",
|
||||
"zh-CN/reference/api-usage-costs",
|
||||
"zh-CN/reference/transcript-hygiene",
|
||||
"zh-CN/date-time"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "概念内部机制",
|
||||
"pages": [
|
||||
"zh-CN/concepts/typebox",
|
||||
"zh-CN/concepts/markdown-formatting",
|
||||
"zh-CN/concepts/typing-indicators",
|
||||
"zh-CN/concepts/usage-tracking",
|
||||
"zh-CN/concepts/timezone"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "项目",
|
||||
"pages": ["zh-CN/reference/credits"]
|
||||
},
|
||||
{
|
||||
"group": "发布策略",
|
||||
"pages": ["zh-CN/reference/RELEASING", "zh-CN/reference/test"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "帮助",
|
||||
"groups": [
|
||||
{
|
||||
"group": "帮助",
|
||||
"pages": ["zh-CN/help/index", "zh-CN/help/troubleshooting", "zh-CN/help/faq"]
|
||||
},
|
||||
{
|
||||
"group": "社区",
|
||||
"pages": ["zh-CN/start/lore"]
|
||||
},
|
||||
{
|
||||
"group": "环境与调试",
|
||||
"pages": [
|
||||
"zh-CN/help/environment",
|
||||
"zh-CN/help/debugging",
|
||||
"zh-CN/help/testing",
|
||||
"zh-CN/help/scripts",
|
||||
"zh-CN/debug/node-issue",
|
||||
"zh-CN/diagnostics/flags"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Node 运行时",
|
||||
"pages": ["zh-CN/install/node"]
|
||||
},
|
||||
{
|
||||
"group": "压缩机制内部参考",
|
||||
"pages": ["zh-CN/reference/session-management-compaction"]
|
||||
},
|
||||
{
|
||||
"group": "开发者设置",
|
||||
"pages": ["zh-CN/start/setup", "zh-CN/pi-dev"]
|
||||
},
|
||||
{
|
||||
"group": "文档元信息",
|
||||
"pages": ["zh-CN/start/hubs", "zh-CN/start/docs-directory", "zh-CN/AGENTS"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user