Intlayer 設定ドキュメント

    概要

    Intlayer 設定ファイルを使用すると、国際化、ミドルウェア、およびコンテンツ処理など、プラグインのさまざまな側面をカスタマイズできます。この文書では、設定内の各プロパティの詳細な説明を提供します。


    設定ファイルサポート

    Intlayer は、JSON、JS、MJS、および TS 設定ファイル形式を受け入れます。

    • intlayer.config.ts
    • intlayer.config.js
    • intlayer.config.json
    • intlayer.config.cjs
    • intlayer.config.mjs
    • .intlayerrc

    設定ファイルの例

    typescript
    // 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;
    
    javascript
    // intlayer.config.cjs
    
    const { Locales } = require("intlayer");
    
    /** @type {import('intlayer').IntlayerConfig} */
    const config = {
      internationalization: {
        locales: [Locales.ENGLISH],
      },
      content: {
        typesDir: "content/types",
      },
      middleware: {
        noPrefix: false,
      },
    };
    
    module.exports = config;
    
    json5
    // .intlayerrc
    
    {
      "internationalization": {
        "locales": ["en"],
      },
      "content": {
        "typesDir": "content/types",
      },
      "middleware": {
        "noPrefix": false,
      },
    }
    

    設定リファレンス

    以下のセクションでは、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 認証を使用してバックエンドと認証することを許可します。アクセス トークンは、プロジェクトに関連するユーザーを認証するために使用されます。アクセス トークンを取得するには、https://back.intlayer.org/dashboard/project に移動し、アカウントを作成してください。
      • : true
      • 注意: 重要: clientId と clientSecret は秘密に保ち、公開しないでください。環境変数など、安全な場所に保管してください。
    • clientSecret:

      • タイプ: string | undefined
      • デフォルト: undefined
      • 説明: clientId と clientSecret は、intlayer パッケージが oAuth2 認証を使用してバックエンドと認証することを許可します。アクセス トークンは、プロジェクトに関連するユーザーを認証するために使用されます。アクセス トークンを取得するには、https://back.intlayer.org/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'
      • 説明: ローカライズ辞書を保存するディレクトリ。
    • i18nDictionariesDirName:
      • タイプ: string
      • デフォルト: 'i18n_dictionary'
      • 説明: i18n 辞書を保存するためのディレクトリ。
      • : 'translations'
      • 注意: 結果ディレクトリレベルでない場合、i18nDictionariesDir を更新してください。
      • 注意: i18n 辞書出力に i18next を含めて辞書を構築することを確認してください。
    • i18nDictionariesDir:

      • タイプ: string
      • 派生元: 'resultDir' / 'i18nDictionariesDirName'
      • 説明: 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']
      • 説明: コンテンツ検索から除外されるディレクトリ。
      • 注意: この設定はまだ使用されていませんが、将来の実装が予定されています。

    このドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。

    ドキュメントへのGitHubリンク