ローカライズ
上のメニュー (navbar) に言語選択のリンクを出す
docusaurus.config.ts
navbar: {
...
items: [
...
{
type: 'localeDropdown',
position: 'right',
},
言語設定
docusaurus.config.ts
const config: Config = {
...
i18n: {
defaultLocale: 'en', // ← ★ デフォルトは /en/ などが URLに入らないもの
locales: ['en', 'ja'], // ← ★ ここにローカライズしたい言語を追加
},
ディレクトリ構成
この設定では、以下のようなディレクトリ構成にする必要がある。
Locale | パス |
---|---|
en (default) | docs/test1.md |
ja | i18n/ja/docusaurus-plugin-content-docs/current/test1.md |
ja ⇔ en を 同階層に置いて比較といったことがしたくなるが、
URL
このように出る
Locale | URL |
---|---|
en (default) | https://sugoi-domain.com/docs/test1 |
ja | https://sugoi-domain.com/docs/ja/test1 |
その他の動作
- 自動生成の場合は、直下(デフォルトの Locale) の md ファイルを元にパスが生成される
- ローカライズ版 (上で言う /ja/ 以下) に該当ファイルがない場合は、「ページが見つかりません」とデフォルトの言語で出る
→ エラーメッセージが日本語だと、外国ユーザは ちょっと敬遠するかも(中国語デフォルトだとそう感じるのと同様に)
→ こう考えると、 'ja' でなくて 'en' をデフォルトにしたほうが良さそうだな