Lingvit

Automated multilingual documentation for Docusaurus

Keep your technical documentation, API guides, and markdown blogs in sync across all languages. @lingvit/docusaurus handles code fences, callouts, and frontmatter with precision.

What gets translated

  • Markdown (.md) and MDX (.mdx) documentation pages
  • Sidebar configurations and category labels
  • Frontmatter metadata (title, description, tags, slug)
  • Preservation of code blocks, syntax highlighting, and variables
  • Admonitions, callouts, and custom React components
  • Docusaurus i18n directory structure (i18n/[locale]/...)
  • Automated sync CLI (npx lingvit-docusaurus sync)
  • Localized search indexes (Algolia / local search)

Setup guide

  1. Install the plugin

    Add @lingvit/docusaurus as a dev dependency.

    npm install @lingvit/docusaurus --save-dev
  2. Configure docusaurus.config.js

    Register the plugin and configure your target locales.

    module.exports = {
      // ...
      i18n: {
        defaultLocale: 'en',
        locales: ['en', 'fr', 'de', 'es'],
      },
      plugins: [
        ['@lingvit/docusaurus', { projectKey: process.env.LINGVIT_PROJECT_KEY }],
      ],
    };
  3. Run sync CLI before build

    Synchronize translations with Lingvit in CI or local build scripts.

    npx lingvit-docusaurus sync

Frequently asked questions

Are code blocks and code fences protected?

Yes. Code blocks (```), inline backticks, JSX props, and import statements are strictly protected from translation.

Does it support Docusaurus v2 and v3?

Yes. The plugin is built for both Docusaurus v2 and the latest Docusaurus v3 with MDX v3.

Can I run the sync in GitHub Actions?

Yes. Running npx lingvit-docusaurus sync in your CI workflow updates localized markdown files automatically before docusaurus build.

Does it translate sidebars and navigation?

Yes. Sidebar labels, navbar items, and footer links configured in docusaurus.config.js are translated via Docusaurus JSON translation files.

Start translating your Docusaurus site

A monthly word generation allowance for new translations. Cached delivery uses no extra allowance.