Docusaurus i18n 发布
Today, we officially release Docusaurus 2 i18n (internationalization), as part of 2.0.0-alpha.71.
Docusaurus 2 has now reached full feature parity with Docusaurus 1. 🎉 And soon, after a few additional infrastructure updates and a bit more testing, the first Docusaurus 2 beta will be released.
We went the extra mile, and the new i18n support is even better than in Docusaurus 1.
In this post, we will present you the translation workflow, explain some design decisions and showcase early adopter sites that just went live: Jest, Redwood, and Datagit.
We also dogfood the i18n support on the Docusaurus 2 site itself, and this post is already available in English and French!
翻译你的站点
You can translate a Docusaurus site in 3 simple steps:
- Configure: declare the default locale and alternative locales in
docusaurus.config.js
- Translate: put the translation files at the correct filesystem location
- Deploy: build and deploy your site using a single or multi-domain strategy
The i18n support is very flexible and based on the filesystem.
The i18n tutorial is the best way to get started, and we provide help to use Git or Crowdin.
设计决策
Docusaurus i18n 系统旨在:
- Simple: just put the translated files in the correct filesystem location
- Flexible translation workflows: use Git (monorepo, forks, or submodules), SaaS software, FTP
- Flexible deployment options: single, multiple domains, or hybrid
- Modular: allow plugin authors to provide i18n support
- Low-overhead runtime: documentation is mostly static and does not require a heavy JS library or polyfills
- Scalable build-times: allow building and deploying localized sites independently
- Localize assets: an image of your site might contain text that should be translated
- No coupling: not forced to use any SaaS, yet integrations are possible
- Easy to use with Crowdin: multiple Docusaurus 1 sites use Crowdin, and should be able to migrate to v2
- Good SEO defaults: we set useful SEO headers like
hreflang
for you - RTL support: locales reading right-to-left (Arabic, Hebrew, etc.) are supported and easy to implement
- Default translations: classic theme labels are translated for you in many languages
案例展示
We worked with a few volunteers to dogfood the i18n support before releasing it.
Jest:更新 Docusaurus
We have made it possible to upgrade a translated Docusaurus 1 site to Docusaurus 2.
Jest, using Docusaurus 1 and Crowdin was one of those sites.
The Docusaurus 2 migration was successful and the new site is now deployed in production (announcement post).