DocsbookDocsbook
← Back to catalog
analysisrequires Docsbook MCP

docs-i18n

Analyzes multilingual documentation — content parity between languages, ISO 639-1 codes, hreflang tags, navigation translation, date/number format localization, and translation freshness. Apply only if documentation has multiple language versions. Docsbook supports 15 languages: EN, ES, FR, DE, PT, IT, RU, ZH, JA, KO, AR, HI, TR, PL, NL.

Local install
npx docs-skills install
Try in MCP
@docsbook find_skill "docs-i18n"

docs-i18n — Internationalization Analysis

Before Starting#

  1. Check if multilingual docs exist. Run mcp__docsbook__get_workspace and check enabled_languages. If only one language is enabled, skip this skill.
  2. Get the repository. Ask for the GitHub repo URL or {user}/{repo} if not already known.
  3. Check Docsbook. Run mcp__docsbook__list_workspaces to find the workspace.
    • If found → use mcp__docsbook__get_doc_graph to get all pages across all languages.
    • If not found → offer to add it first.
  4. Check the graph. If get_doc_graph returns an empty graph or no data → run mcp__docsbook__reindex_doc_graph to generate it, then retry. If it returns a stale warning, offer to reindex before proceeding.
  5. Identify source language. Usually English — confirm with the team. All other languages are translations from it.
  6. Define Tier 1 pages. Quick-start, pricing, authentication — parity is critical for these.

Core Principles#

1. Each language version is a complete site#

Not "a translation of English" — a complete experience in the reader's language with translated navigation, UI labels, and appropriately localized content.

2. Content parity is prioritized, not absolute#

Tier 1 pages (quick-start, pricing, auth) must be translated to all enabled languages. Tier 3 (deep API reference) can stay English-only. Know the priority tier before flagging missing translations.

3. A stale translation is worse than no translation#

A translated pricing page showing outdated prices in another language can cost sales or cause support issues. Better to show the English original with a "this page is not yet translated" banner than to show wrong information.

4. Localization ≠ translation#

Dates, numbers, currencies, and example data should match the locale conventions, not just be translated word-for-word.


Checklist#

Language Configuration#

Content Parity (Priority-Based)#

Tier 1 — always translated:

Tier 2 — translate when possible:

Tier 3 — English-only is acceptable:

Checks:

Translation Content Rules#

Format Localization#

RTL Languages (Arabic)#

Translation Freshness#

SEO for Multilingual#


What to Look For#

Severity Problem Detection
critical Tier 1 page missing in an enabled language Compare page list per language
critical Non-English sidebar shows English labels Check navigation translation
high Custom language code used instead of ISO 639-1 Check enabled_languages config
high Tier 1 translation more than 90 days behind source Compare page timestamps
high Code comments translated, breaking syntax Scan code blocks in translations
high Missing translation returns 404 instead of fallback Check fallback behavior
medium hreflang tags missing Check page metadata
medium Date format not localized Check date patterns in content
medium UI screenshot in non-English docs with no note Scan image references
low Brand name "Docsbook" translated Grep for translations of brand
low Too formal or too informal register for language Manual review

Output Format#

{
  "file": "docs/ru/",
  "line": null,
  "severity": "critical",
  "rule": "missing-tier1-translation",
  "found": "Russian language is enabled, but docs/ru/quick-start.md does not exist. Tier 1 page missing for an enabled language.",
  "suggestion": "Translate docs/en/quick-start.md → docs/ru/quick-start.md. Use AI translation via Docsbook's translate API with human review. Alternative: temporarily disable Russian until the translation is ready."
}
{
  "file": "docs/ru/pricing.md",
  "line": null,
  "severity": "high",
  "rule": "stale-translation",
  "found": "docs/en/pricing.md was updated 2026-04-10, docs/ru/pricing.md was last updated 2026-01-15 — 115 days behind. Pricing information may be wrong in the Russian version.",
  "suggestion": "Re-translate docs/ru/pricing.md from the current English source. Prices and plans are business-critical — add to automation pipeline or release checklist."
}
{
  "file": "docs/es/api/workspaces.md",
  "line": 42,
  "severity": "high",
  "rule": "code-comment-translated",
  "found": "Line 42: JSON code block contains Spanish text in a comment position: `\"name\": \"// nombre del workspace\"` — invalid JSON.",
  "suggestion": "In JSON blocks, comments are not valid. Move the explanation to prose before or after the block. In TypeScript/Python, only translate `//` and `#` comments, never string values."
}

Task-Specific Questions#

When invoked directly, ask:

  1. Which languages are in scope? (from enabled_languages in workspace settings)
  2. Source-of-truth language? Usually EN — confirm.
  3. Tier 1 pages for this project? (quick-start, pricing, auth — confirm with team)
  4. Translation workflow? Manual / AI with review / fully automated

Tool Integrations#

Tool Purpose
mcp__docsbook__list_workspaces Find workspace
mcp__docsbook__get_workspace Get enabled languages and settings
mcp__docsbook__get_doc_graph Full page list across all languages
mcp__docsbook__read_doc_sections Read translation content
mcp__docsbook__update_languages Enable/disable languages (PRO)

View source on GitHub →Browse full catalog repo →
Keywords
i18ntranslationlocalizationmultilingualhreflanglanguages
MCP tools used
list_workspacesget_workspaceget_doc_graphread_doc_sections