Intlayer 設定ドキュメント
概要
Intlayer 設定ファイルは、国際化、ミドルウェア、およびコンテンツ処理など、プラグインのさまざまな側面をカスタマイズすることを可能にします。このドキュメントでは、設定内の各プロパティについて詳細に説明します。
設定ファイルサポート
Intlayer は JSON、JS、MJS、および TS 設定ファイル形式を受け付けます:
- intlayer.config.ts
- intlayer.config.js
- intlayer.config.json
- intlayer.config.cjs
- intlayer.config.mjs
- .intlayerrc
設定ファイルの例
intlayer.config.ts
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH], }, content: { typesDir: "content/types", }, middleware: { noPrefix: false, },};export default config;
設定リファレンス
以下のセクションでは、Intlayer に利用できるさまざまな設定を説明します。
国際化設定
アプリケーションの利用可能なロケールやデフォルトロケールなど、国際化に関連する設定を定義します。
プロパティ
- locales:
- タイプ: string[]
- デフォルト: ['en']
- 説明: アプリケーションでサポートされるロケールのリスト。
- 例: ['en', 'fr', 'es']
strictMode:
- タイプ: string
- デフォルト: required_only
- 説明: TypeScript を使用して国際化されたコンテンツの強力な実装を保証します。
- 注意: "strict" に設定された場合、翻訳 t 関数は宣言された各ロケールが定義されていることを必要とします。1つのロケールが欠けている場合、または設定にロケールが宣言されていない場合は、エラーが発生します。
- 注意: "required_only" に設定された場合、翻訳 t 関数は宣言された各ロケールが定義されていることを必要とし、1つのロケールが欠けている場合は警告が出されます。ただし、設定に宣言されていないが存在するロケールは受け入れられます。
- 注意: "loose" に設定された場合、翻訳 t 関数は存在する任意のロケールを受け入れます。
defaultLocale:
- タイプ: string
- デフォルト: 'en'
- 説明: 要求されたロケールが見つからない場合のフォールバックとして使用されるデフォルトロケール。
- 例: 'en'
- 注意: URL、クッキー、またはヘッダーにロケールが指定されていない場合、これを使用してロケールを決定します。
エディター設定
サーバーポートおよびアクティブステータスを含む、統合エディターに関連する設定を定義します。
プロパティ
backendURL:
- タイプ: string
- デフォルト: https://back.intlayer.org
- 説明: バックエンドサーバーの URL。
- 例: http://localhost:4000
enabled:
- タイプ: boolean
- デフォルト: true
- 説明: エディターがアクティブかどうかを示します。
- 例: true
- 注意: NODE_ENV または他の専用環境変数を使用して設定できます。
clientId:
- タイプ: string | undefined
- デフォルト: undefined
- 説明: clientId および clientSecret により、intlayer パッケージは oAuth2 認証を使用してバックエンドと認証できます。アクセス トークンはプロジェクトに関連するユーザーを認証するために使用されます。アクセス トークンを取得するには、/dashboard/project に移動してアカウントを作成します。
- 例: true
- 注意: 重要: clientId および clientSecret は秘密にして公開しないようにする必要があります。環境変数など、安全な場所に保管することをお勧めします。
clientSecret:
- タイプ: string | undefined
- デフォルト: undefined
- 説明: clientId および clientSecret により、intlayer パッケージは oAuth2 認証を使用してバックエンドと認証できます。アクセス トークンはプロジェクトに関連するユーザーを認証するために使用されます。アクセス トークンを取得するには、/dashboard/project に移動してアカウントを作成します。
- 例: true
- 注意: 重要: clientId および clientSecret は秘密にして公開しないようにする必要があります。環境変数など、安全な場所に保管することをお勧めします。
ミドルウェア設定
クッキー、ヘッダー、およびロケール管理のための URL プレフィックスの処理を含む、ミドルウェアの動作を制御する設定。
プロパティ
- headerName:
- タイプ: string
- デフォルト: 'x-intlayer-locale'
- 説明: ロケールを決定するために使用される HTTP ヘッダーの名前。
- 例: 'x-custom-locale'
- 注意: API ベースのロケール決定に便利です。
- cookieName:
- タイプ: string
- デフォルト: 'intlayer-locale'
- 説明: ロケールを保存するために使用されるクッキーの名前。
- 例: 'custom-locale'
- 注意: セッションをまたいでロケールを持続させるために使用されます。
- prefixDefault:
- タイプ: boolean
- デフォルト: true
- 説明: URL にデフォルトのロケールを含めるかどうかを示します。
- 例: false
- 注意: false の場合、デフォルトロケールの URL にはロケール接頭辞がありません。
- basePath:
- タイプ: string
- デフォルト: ''
- 説明: アプリケーション URL の基本パス。
- 例: '/my-app'
- 注意: アプリケーションの URL の構成方法に影響します。
- serverSetCookie:
- タイプ: string
- デフォルト: 'always'
- 説明: サーバーでロケールクッキーを設定するためのルール。
- オプション: 'always', 'never'
- 例: 'never'
- 注意: 各リクエストでロケールクッキーが設定されるかどうかを制御します。
- noPrefix:
- タイプ: boolean
- デフォルト: false
- 説明: URL からロケールプレフィックスを省略するかどうかを示します。
- 例: true
- 注意: true の場合、URL にロケール情報が含まれません。
コンテンツ設定
ディレクトリ名、ファイル拡張子、および派生構成を含むアプリケーション内でのコンテンツ処理に関連する設定。
プロパティ
- watch:
- タイプ: boolean
- デフォルト: process.env.NODE_ENV === 'development'
- 説明: Intlayer がアプリ内のコンテンツ宣言ファイルの変更を監視し、関連する辞書を再構築すべきかどうかを示します。
- fileExtensions:
- タイプ: string[]
- デフォルト: ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']
- 説明: 辞書を構築する際に探すファイル拡張子。
- 例: ['.data.ts', '.data.js', '.data.json']
- 注意: ファイル拡張子をカスタマイズすることで、競合を回避できます。
- baseDir:
- タイプ: string
- デフォルト: process.cwd()
- 説明: プロジェクトの基本ディレクトリ。
- 例: '/path/to/project'
- 注意: これはすべての Intlayer 関連ディレクトリを解決するために使用されます。
- dictionaryOutput:
- タイプ: string[]
- デフォルト: ['intlayer']
- 説明: 使用する辞書出力のタイプ(例: 'intlayer' または 'i18next')。
- contentDirName:
- タイプ: string
- デフォルト: 'src'
- 説明: コンテンツが保存されるディレクトリの名前。
- 例: 'data', 'content', 'locales'
- 注意: 基本ディレクトリレベルにない場合、contentDir を更新してください。
contentDir:
- タイプ: string
- 派生元: 'baseDir' / 'contentDirName'
- 説明: コンテンツが保存されるディレクトリパス。
- resultDirName:
- タイプ: string
- デフォルト: '.intlayer'
- 説明: 結果が保存されるディレクトリの名前。
- 例: 'outputOFIntlayer'
- 注意: このディレクトリが基本レベルでない場合は、resultDir を更新してください。
resultDir:
- タイプ: string
- 派生元: 'baseDir' / 'resultDirName'
- 説明: 中間または出力結果を保存するためのディレクトリパス。
moduleAugmentationDirName:
- タイプ: string
- デフォルト: 'types'
- 説明: モジュールの拡張用ディレクトリで、IDE の提案や型チェックを改善します。
- 例: 'intlayer-types'
- 注意: tsconfig.json にこれを含めるようにしてください。
moduleAugmentationDir:
- タイプ: string
- 派生元: 'baseDir' / 'moduleAugmentationDirName'
- 説明: モジュール拡張および追加の型定義のためのパス。
- dictionariesDirName:
- タイプ: string
- デフォルト: 'dictionary'
- 説明: 辞書を保存するためのディレクトリ。
- 例: 'translations'
- 注意: 結果ディレクトリレベルにない場合は、dictionariesDir を更新してください。
dictionariesDir:
- タイプ: string
- 派生元: 'resultDir' / 'dictionariesDirName'
- 説明: ローカライズ辞書を保存するためのディレクトリ。
- i18nextResourcesDirName:
- タイプ: string
- デフォルト: 'i18next_dictionary'
- 説明: i18n 辞書を保存するためのディレクトリ。
- 例: 'translations'
- 注意: 結果ディレクトリレベルにない場合は、i18nextResourcesDir を更新してください。
- 注意: i18n 辞書の出力には i18next を含める必要があります。
i18nextResourcesDir:
- タイプ: string
- 派生元: 'resultDir' / 'i18nextResourcesDirName'
- 説明: i18n 辞書を保存するためのディレクトリ。
- 注意: このディレクトリは i18next 出力タイプ用に構成されている必要があります。
typeDirName:
- タイプ: string
- デフォルト: 'types'
- 説明: 辞書型を保存するためのディレクトリ。
- 例: 'intlayer-types'
- 注意: 結果ディレクトリレベルにない場合は、typesDir を更新してください。
typesDir:
- タイプ: string
- 派生元: 'resultDir' / 'typeDirName'
- 説明: 辞書型を保存するためのディレクトリ。
- mainDirName:
- タイプ: string
- デフォルト: 'main'
- 説明: メインファイルを保存するためのディレクトリ。
- 例: 'intlayer-main'
- 注意: 結果ディレクトリレベルにない場合は、mainDir を更新してください。
- mainDir:
- タイプ: string
- 派生元: 'resultDir' / 'mainDirName'
- 説明: メインアプリケーションファイルが保存されるディレクトリ。
- excludedPath:
- タイプ: string[]
- デフォルト: ['node_modules']
- 説明: コンテンツ検索から除外されるディレクトリ。
- 注意: この設定はまだ使用されていませんが、将来の実装が予定されています。
ロガー設定
ログのレベルや使用するプレフィックスを含む、ロガーを制御する設定。
プロパティ
- enabled:
- タイプ: boolean
- デフォルト: true
- 説明: ロガーが有効かどうかを示します。
- 例: true
- 注意: NODE_ENV または他の専用環境変数を使用して設定できます。
- level:
- タイプ: 'info' | 'warn' | 'debug' | 'log'
- デフォルト: 'log'
- 説明: ロガーのレベル。
- 例: 'info'
- 注意: ロガーのレベルは 'log', 'info', 'warn', 'error', 'debug' のいずれかです。
- prefix:
- タイプ: string
- デフォルト: '[intlayer] '
- 説明: ロガーのプレフィックス。
- 例: '[my custom prefix] '
- 注意: ロガーのプレフィックス。
このドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。
ドキュメントへのGitHubリンク