Building a Multilingual Documentation Site
Practical guide to multilingual docs with Docusaurus, GitBook, and MkDocs: directory structure, automated translation pipelines, versioning, and URL strategies.
Your docs are in English. Your users aren't. Here's how to add language support to documentation sites built with Docusaurus, GitBook, and MkDocs — including the directory structure, translation pipeline, and versioning strategy that actually work at scale.
The URL structure decision
Before anything else, pick a URL strategy. This affects SEO, routing, and how you organize files.
Subdirectory (recommended): docs.example.com/ja/getting-started
- Single domain, good for SEO consolidation
- Easy to implement in most frameworks
- Clear language segmentation in analytics
ja.docs.example.com/getting-started
- Treated as separate sites by search engines
- More complex DNS and hosting setup
- Useful if different language versions are maintained by different teams
docs.example.jp/getting-started
- Maximum separation
- Most expensive to maintain
- Only makes sense for very large, independently managed locales
Docusaurus: built-in i18n
Docusaurus has first-class i18n support. Configuration in docusaurus.config.js: