コンテンツへスキップ
Fumadocs

設定

共通の i18n 設定

Core API のみ

フレームワークとの統合方法については、国際化のガイドを参照してください。

設定を定義する

Fumadocs Core は、i18n 対応に必要なミドルウェアとユーティリティを提供しています。

各ユーティリティで共有する設定を定義できます。

lib/i18n.ts
import { defineI18n } from 'fumadocs-core/i18n';

export const i18n = defineI18n({
  defaultLanguage: 'en',
  languages: ['en', 'cn'],
});

ロケールプレフィックスを非表示にする

ロケールプレフィックスを非表示にする (例: /en/page -> /page) には、hideLocale オプションを使用します。

import { defineI18n } from 'fumadocs-core/i18n';

export const i18n = defineI18n({
  defaultLanguage: 'en',
  languages: ['en', 'cn'],
  hideLocale: 'default-locale',
});
モード説明
alwaysプレフィックスを常に非表示にし、Cookie からロケールを検出します
default-localeデフォルトロケールのみを非表示にします
neverプレフィックスを非表示にしません(デフォルト)

always を使用する場合

always モードでは、ロケールは(ミドルウェアによって設定される)Cookie に保存されるため、静的サイトには最適ではありません。

意図しないキャッシュの問題が発生する可能性があります。また、検索エンジンがページを正しくインデックスできるよう、SEO にも特に注意を払う必要があります。

フォールバック言語

ファイルの翻訳が存在しない場合に使用するフォールバック言語です。デフォルトでは defaultLanguage が使用されます。

languages 配列に含まれる言語のいずれかを指定できます。

import { defineI18n } from 'fumadocs-core/i18n';

export const i18n = defineI18n({
  languages: ['en', 'cn'],
  defaultLanguage: 'en',
  // 英語版のファイルが存在しない場合は中国語版が使用されます
  fallbackLanguage: 'cn',
});

フォールバックを無効にするには、null を設定します。

import { defineI18n } from 'fumadocs-core/i18n';

export const i18n = defineI18n({
  languages: ['en', 'cn'],
  defaultLanguage: 'en',
  fallbackLanguage: null,
});

無効にすると、フォールバックは一切行われません (meta.json も含む) 。ただし、$ を使えば、すべてのロケールで共有するファイルを作成できます。

my-page.$.md
meta.$.json

How is this guide?

最終更新日