Docusaurus i18n のリリース
本日、2.0.0-alpha.71の一部として、Docusaurus 2 i18n(国際化)を正式にリリースしました。
Docusaurus 2 は、Docusaurus 1 と同等の機能を備えるようになりました。🎉まもなく、いくつかの追加のインフラストラクチャのアップデートと追加のテストの後、最初の Docusaurus 2 ベータ版がリリースされます。
さらに一歩踏み込みました。新しい i18n サポートは、Docusaurus 1 よりもさらに優れています。
この投稿では、翻訳ワークフローを紹介し、いくつかの設計上の決定を説明し、公開されたばかりのアーリーアダプターサイトである Jest、Redwood、および Datagit を紹介します。
また、Docusaurus 2 サイト自体でも i18n サポートをテスト運用しており、この投稿はすでに英語とフランス語で公開されています!
サイトの翻訳
Docusaurus サイトは3 つの簡単な手順で翻訳できます。
- 設定:
docusaurus.config.js
でデフォルトのロケールと代替ロケールを宣言します。 - 翻訳:翻訳ファイルを正しいファイルシステムの場所に配置します。
- デプロイ:シングルまたはマルチドメイン戦略を使用してサイトをビルドしてデプロイします。
i18n サポートは非常に柔軟性が高く、ファイルシステムに基づいています。
i18n チュートリアルは開始するための最良の方法であり、GitまたはCrowdinを使用するためのヘルプを提供しています。
設計上の決定
Docusaurus i18n システムの目標は次のとおりです。
- シンプル:翻訳済みファイルを正しいファイルシステムの場所に配置するだけです。
- 柔軟な翻訳ワークフロー:Git(モノレポ、フォーク、またはサブモジュール)、SaaS ソフトウェア、FTP を使用します。
- 柔軟なデプロイオプション:シングル、マルチドメイン、またはハイブリッド。
- モジュール式:プラグイン作成者が i18n サポートを提供できるようにします。
- 低オーバーヘッドのランタイム:ドキュメントはほとんど静的であり、重い JS ライブラリやポリフィルは必要ありません。
- スケーラブルなビルド時間:ローカライズされたサイトを個別にビルドしてデプロイできます。
- アセットのローカライズ:サイトのイメージには、翻訳する必要があるテキストが含まれている場合があります。
- カップリングなし:SaaS を強制的に使用することはありませんが、統合は可能です。
- Crowdin との簡単な使用:複数の Docusaurus 1 サイトが Crowdin を使用しており、v2 に移行できる必要があります。
- 優れた SEO デフォルト:
hreflang
などの便利な SEO ヘッダーを設定します。 - RTL サポート:右から左に読むロケール(アラビア語、ヘブライ語など)がサポートされており、簡単に実装できます。
- デフォルトの翻訳:クラシックテーマのラベルは、多くの言語で翻訳されています。
ショーケース
リリース前に、いくつかのボランティアと協力してi18n サポートをテスト運用しました。
Jest:Docusaurus のアップグレード
翻訳された Docusaurus 1 サイトを Docusaurus 2 にアップグレードできるようにしました。
Docusaurus 1 と Crowdin を使用しているJestはそのようなサイトの 1 つでした。
Docusaurus 2 への移行は成功し、新しいサイトは現在本番環境にデプロイされています(発表記事)。
Redwood:Docusaurus の採用
Redwood は React フルスタック Jamstack フレームワークです。
彼らは国際化された学習プラットフォームを作成するためのソリューションを探しており、learn.redwoodjs.comのために Docusaurus 2 i18n のアーリーアダプターとなり、Crowdin を使用してフランス語に翻訳しました。
Datagit:LTR サポートの使用
i18n システムは、右から左に読む言語を含む、あらゆる言語で動作する必要があります。
Datagit.ir はペルシャ語を使用しており、簡単な構成オプションでDocusaurus テーマを反転して、必要な右から左へのサポートを追加できます。
結論
新しい i18n サポートを採用して気に入っていただけることを心から願っています。
この機能は簡単なものではありませんでした。この旅に関わってくださったすべての方に感謝いたします。
- Alexey さんには、i18n サポートを包括的で v1 よりも優れたものにするための支援をいただきました。
- Simen さんには、ボランティアとして Jest の移行を支援していただきました。
- Claire さんには、新しい Redwood プラットフォームで Docusaurus 2 を採用し、多くのフィードバックを提供していただきました。
- Massoud さんには、LTR に関する私の作業のレビューと Datagit での採用をしていただきました。
- Crowdin には、サポートと翻訳 SaaS の改善への意欲に感謝いたします。
- GitHub で多くの役立つフィードバックを提供してくださった Docusaurus コミュニティに感謝いたします。
お読みいただきありがとうございます。
🙏そして、新しい i18n サイトを当社のショーケースページに追加してください。ここでは、洗練された Docusaurus サイトであればすべてを受け付けており、機能別にサイトをフィルタリングできるリデザインに取り組んでいます。