このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "LM Studio プロバイダーのサポートを追加"v8.9.42026/5/12
- "ビルド設定に `prune` と `minify` オプションを追加"v8.7.02026/4/8
- "`currentDomain` オプションを追加"v8.7.02026/4/3
- "'compiler.output' と 'dictionary.fill' にロケールごとのオブジェクト記法を追加"v8.4.02026/3/20
- "'baseDir' を 'content' 設定から 'system' 設定に移動"v8.3.02026/3/11
- "コンパイラオプションを更新し、'output' と 'noMetadata' のサポートを追加"v8.2.02026/3/9
- "コンパイラオプションを更新"v8.1.72026/2/25
- "'build-only' コンパイラオプションと辞書プレフィックスを追加"v8.1.52026/2/23
- "Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face, Together.ai プロバイダーのサポートを追加"v8.0.62026/2/12
- "AI設定に `dataSerialization` を追加"v8.0.52026/2/6
- "基盤となるメカニズムをより正確に表すため、`live` インポートモードを `fetch` に名前変更。"v8.0.02026/1/24
- "`importMode` ビルド設定を `dictionary` 設定に移動。"v8.0.02026/1/22
- "ルーティング設定に `rewrite` オプションを追加"v8.0.02026/1/22
- "コンテンツ設定からシステム設定を分離。内部パスを `system` プロパティに移動。コンテンツファイルとコード変換を分離するため `codeDir` を追加。"v8.0.02026/1/18
- "`location` と `schema` 辞書オプションを追加"v8.0.02026/1/18
- "JSON5 および JSONC ファイル形式のサポートを追加"v7.5.12026/1/10
- "`buildMode` オプションを追加"v7.5.02025/12/17
- "`dictionary` 設定を追加"v7.0.02025/10/25
- "`middleware` を `routing` 設定に置き換え"v7.0.02025/10/21
- "`formatCommand` オプションを追加"v7.0.02025/10/12
- "`excludedPath` オプションを更新"v6.2.02025/10/12
- "`outputFormat` オプションを追加"v6.0.22025/9/23
- "`dictionaryOutput` フィールドと `i18nextResourcesDir` フィールドを削除"v6.0.02025/9/21
- "`live` インポートモードを追加"v6.0.02025/9/16
- "`hotReload` フィールドを `liveSync` に置き換え、`liveSyncPort` と `liveSyncURL` フィールドを追加"v6.0.02025/9/4
- "`activateDynamicImport` を `importMode` オプションに置き換え"v5.6.12025/7/25
- "デフォルトの `contentDir` を `['src']` から `['.']` に変更"v5.6.02025/7/13
- "`docs` コマンドを追加"v5.5.112025/6/29
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るこのドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。
ドキュメントへのGitHubリンクドキュメントのMarkdownをクリップボードにコピー
Intlayer 設定ドキュメント
概要
Intlayer 設定ファイルを使用すると、国際化、ミドルウェア、コンテンツ管理など、プラグインのさまざまな側面をカスタマイズできます。このドキュメントでは、設定内の各プロパティの詳細な説明を提供します。
目次
設定ファイルのサポート
Intlayer は、JSON、JS、MJS、および TS の設定ファイル形式をサポートしています。
intlayer.config.tsintlayer.config.jsintlayer.config.jsonintlayer.config.json5intlayer.config.jsoncintlayer.config.cjsintlayer.config.mjs.intlayerrc
設定ファイルの例
コードをクリップボードにコピー
設定リファレンス
以下のセクションでは、Intlayer で利用可能なさまざまな設定項目について詳しく説明します。
国際化設定 (Internationalization)
使用可能なロケールやアプリケーションのデフォルトロケールなど、国際化に関連する設定を定義します。
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 | デフォルト | 例 | 備考 |
|---|---|---|---|---|---|
locales | アプリケーションでサポートされるロケールのリスト。 | string[] | [Locales.ENGLISH] | ['en', 'fr', 'es'] | |
requiredLocales | アプリケーションで必須とされるロケールのリスト。 | string[] | [] | [] | • 空の場合、strict モードではすべてのロケールが必須になります。• 必須ロケールが locales フィールドにも定義されていることを確認してください。 |
strictMode | TypeScript を使用して、国際化コンテンツの堅牢な実装を保証します。 | string | 'inclusive' | • "strict" の場合: t 関数は、宣言されたすべてのロケールが定義されていることを要求します。不足している場合や宣言されていない場合にエラーをスローします。• "inclusive" の場合: ロケールが不足している場合に警告を出しますが、宣言されていない既存のロケールの使用も許可します。• "loose" の場合: 既存のすべてのロケールを受け入れます。 | |
defaultLocale | 要求されたロケールが見つからない場合にフォールバックとして使用されるデフォルトロケール。 | string | Locales.ENGLISH | 'en' | URL、Cookie、またはヘッダーでロケールが指定されていない場合にロケールを決定するために使用されます。 |
エディタ設定 (Editor)
サーバーポートや有効化ステータスなど、組み込みのビジュアルエディタの設定を定義します。
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 | デフォルト | 例 | 備考 |
|---|---|---|---|---|---|
applicationURL | アプリケーションの URL。 | string | undefined | 'http://localhost:3000''https://example.com'process.env.INTLAYER_EDITOR_URL | • セキュリティ上の理由から、エディタのオリジンを制限するために使用されます。 • '*' に設定すると、任意のオリジンからエディタにアクセス可能になります。 |
port | ビジュアルエディタサーバーが使用するポート。 | number | 8000 | ||
editorURL | エディタサーバーの URL。 | string | 'http://localhost:8000' | 'http://localhost:3000''https://example.com'process.env.INTLAYER_EDITOR_URL | • アプリケーションと対話可能なオリジンを制限するために使用されます。 • '*' に設定すると、任意のオリジンからアクセス可能になります。• ポートが変更された場合や、エディタが別のドメインでホストされている場合に設定する必要があります。 |
cmsURL | Intlayer CMS の URL。 | string | 'https://app.intlayer.org' | 'https://app.intlayer.org' | |
backendURL | バックエンドサーバーの URL。 | string | https://back.intlayer.org | http://localhost:4000 | |
enabled | アプリケーションがビジュアルエディタと対話するかどうか。 | boolean | false | process.env.NODE_ENV !== 'production' | • false の場合、エディタはアプリケーションと対話できません。• 特定の環境で無効にすることでセキュリティが向上します。 |
clientId | intlayer パッケージが oAuth2 を介してバックエンドで認証できるようにします。アクセストークンを取得するには、intlayer.org/project にアクセスしてください。 | string | undefined | undefined | 秘密にする必要があるため、環境変数に保存してください。 | |
clientSecret | intlayer パッケージが oAuth2 を介してバックエンドで認証できるようにします。アクセストークンを取得するには、intlayer.org/project にアクセスしてください。 | string | undefined | undefined | 秘密にする必要があるため、環境変数に保存してください。 | |
dictionaryPriorityStrategy | ローカル辞書とリモート辞書の両方が存在する場合の、辞書の優先順位戦略。 | string | 'local_first' | 'distant_first' | • 'distant_first': ローカルよりもリモートを優先します。• 'local_first': リモートよりもローカルを優先します。 |
liveSync | CMS、ビジュアルエディタ、バックエンドでの変更が検出されたときに、アプリサーバーがコンテンツを即座にリロードするかどうか。 | boolean | true | true | • 辞書が追加または更新されると、アプリはページコンテンツを更新します。 • Live Sync はコンテンツを別のサーバーにオフロードするため、パフォーマンスにわずかな影響を与える可能性があります。 • 両方を同じマシンでホストすることをお勧めします。 |
liveSyncPort | Live Sync サーバーのポート。 | number | 4000 | 4000 | |
liveSyncURL | Live Sync サーバーの URL。 | string | 'http://localhost:{liveSyncPort}' | 'https://example.com' | デフォルトで localhost を指します。リモートの Live Sync サーバーを使用する場合は変更可能です。 |
ルーティング設定 (Routing)
URL 構造、ロケール保存、ミドルウェア管理など、ルーティングの動作を制御する設定。
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 | デフォルト | 例 | 備考 |
|---|---|---|---|---|---|
mode | ロケール管理のための URL ルーティングモード。 | 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params' | 'prefix-no-default' | 'prefix-no-default': /dashboard (en) または /fr/dashboard (fr)。 'prefix-all': /en/dashboard。 'no-prefix': ロケールは他の手段で管理されます。 'search-params': /dashboard?locale=fr | Cookie やロケール保存の管理には影響しません。 |
storage | クライアントでのロケール保存の設定。 | false | 'cookie' | 'localStorage' | 'sessionStorage' | 'header' | CookiesAttributes | StorageAttributes | Array | ['cookie', 'header'] | 'localStorage'[{ type: 'cookie', name: 'custom-locale', secure: true }] | 下記の「保存オプション」の表を参照してください。 |
basePath | アプリケーション URL のベースパス。 | string | '' | '/my-app' | アプリが https://example.com/my-app にある場合、basePath は '/my-app' となり、URL は https://example.com/my-app/en のようになります。 |
rewrite | 特定のパスに対してデフォルトのルーティングモードを上書きするカスタム URL リライトルール。動的パラメータ [param] をサポートします。 | Record<string, StrictModeLocaleMap<string>> | undefined | 下記の例を参照してください | • リライトルールは mode よりも優先されます。• Next.js および Vite で動作します。 • getLocalizedUrl() は一致するルールを自動的に適用します。• カスタム URL リライトを参照してください。 |
domains | ドメインベースのルーティングのために、ロケールをドメインのホスト名にマップします。設定されている場合、そのロケールのURLはパスのベースとしてそのドメインを使用し(絶対URL)、パスにロケールプレフィックスは追加されません。 | Partial<Record<Locale, string>> | undefined | { zh: 'intlayer.zh', fr: 'intlayer.org' } | • ホスト名に含まれていない場合、デフォルトのプロトコルは https:// です。• ドメイン自体がロケールを識別するため、 /zh/ プレフィックスは追加されません。• getLocalizedUrl('/', 'zh') は https://intlayer.zh/ を返します。 |
rewrite の例:
コードをクリップボードにコピー
保存オプション (Storage Options)
テーブルをモーダルで開き、すべてのデータを明確に表示
| 値 | 備考 | 説明 |
|---|---|---|
'cookie' | • GDPR コンプライアンスのため、適切なユーザーの同意を確保してください。 • CookiesAttributes ({ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }) を介してカスタマイズ可能です。 | ロケールを Cookie に保存します。クライアントとサーバーの両方からアクセス可能です。 |
'localStorage' | • 明示的にクリアされない限り期限切れになりません。 • Intlayer プロキシからはアクセスできません。 • StorageAttributes ({ type: 'localStorage', name: 'custom-locale' }) を介してカスタマイズ可能です。 | ブラウザにロケールを無期限に保存します。クライアントサイドのみ。 |
'sessionStorage' | • タブやウィンドウが閉じられるとクリアされます。 • Intlayer プロキシからはアクセスできません。 • StorageAttributes ({ type: 'sessionStorage', name: 'custom-locale' }) を介してカスタマイズ可能です。 | ページセッションの間、ロケールを保存します。クライアントサイドのみ。 |
'header' | • API 呼び出しに有用です。 • クライアントサイドからはアクセスできません。 • StorageAttributes ({ type: 'header', name: 'custom-locale' }) を介してカスタマイズ可能です。 | HTTP ヘッダーを介してロケールを保存または送信します。サーバーサイドのみ。 |
Cookie 属性 (Cookies Attributes)
Cookie 保存を使用する場合、追加のアトリビュートを設定できます。
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 |
|---|---|---|
name | Cookie の名前。デフォルト: 'INTLAYER_LOCALE' | string |
domain | Cookie のドメイン。デフォルト: undefined | string |
path | Cookie のパス。デフォルト: undefined | string |
secure | HTTPS を必須にします。デフォルト: undefined | boolean |
httpOnly | HTTP-only フラグ。デフォルト: undefined | boolean |
sameSite | SameSite ポリシー。 | 'strict' | 'lax' | 'none' |
expires | 数値は作成からの日数を示し、日付(またはISO日付文字列)は絶対的な有効期限を示します。デフォルト: undefined | Date | number | string |
maxAge | 作成からの秒単位の有効期間。expiresより優先されます。デフォルト: undefined | number |
保存属性 (Storage Attributes)
localStorage または sessionStorage を使用する場合。
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 |
|---|---|---|
type | 保存方法のタイプ。 | 'localStorage' | 'sessionStorage' |
name | 保存キーの名前。デフォルト: 'INTLAYER_LOCALE' | string |
設定例
新しい v7 ルーティング構造の一般的な設定例をいくつか示します。
基本設定 (デフォルト):
コードをクリップボードにコピー
GDPR 準拠設定:
コードをクリップボードにコピー
検索パラメータモード:
コードをクリップボードにコピー
カスタム保存を使用したプレフィックスなしモード:
コードをクリップボードにコピー
動的パスを使用したカスタム URL リライト:
コードをクリップボードにコピー
コンテンツ設定 (Content)
ディレクトリ名、ファイル拡張子、派生設定など、アプリケーション内でのコンテンツ管理方法に関連する設定。
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 | デフォルト | 例 | 備考 |
|---|---|---|---|---|---|
watch | Intlayer がコンテンツ宣言ファイルの変更を監視して辞書を再生成するかどうか。 | boolean | true | ||
fileExtensions | 辞書をコンパイルする際にスキャンするファイル拡張子。 | string[] | ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.json5', '.content.jsonc', '.content.tsx', '.content.jsx'] | ['.data.ts', '.data.js', '.data.json'] | カスタマイズすることで競合を回避できる場合があります。 |
contentDir | コンテンツ定義ファイル (.content.*) が保存されているディレクトリパス。 | string[] | ['.'] | ['src', '../../ui-library', require.resolve("@my-package/content"), '@my-package/content'] | コンテンツファイルの監視と辞書の再生成に使用されます。 |
codeDir | コードが保存されているベースディレクトリからの相対ディレクトリパス。 | string[] | ['.'] | ['src', '../../ui-library'] | • コード変換 (プルーニング、最適化) のためにコードファイルを監視するために使用されます。 • contentDir と分離することでパフォーマンスが向上する場合があります。 |
excludedPath | コンテンツスキャンから除外するディレクトリ。 | string[] | ['**/node_modules/**', '**/dist/**', '**/build/**', '**/.intlayer/**', '**/.next/**', '**/.nuxt/**', '**/.expo/**', '**/.vercel/**', '**/.turbo/**', '**/.tanstack/**'] | 未使用。将来の実装のために計画されています。 | |
formatCommand | Intlayer がローカルにファイルを書き込む際のコンテンツファイルのフォーマッタコマンド。 | string | undefined | 'npx prettier --write "{{file}}" --log-level silent' (Prettier), 'npx biome format "{{file}}" --write --log-level none' (Biome), 'npx eslint --fix "{{file}}" --quiet' (ESLint) | • {{file}} はファイルパスに置き換えられます。• 未定義の場合、Intlayer は自動的に検出を試みます (prettier、biome、eslint をテスト)。 |
辞書設定 (Dictionary)
自動入力動作やコンテンツ生成など、辞書操作を制御するパラメータ。
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 | デフォルト | 例 | 備考 |
|---|---|---|---|---|---|
fill | 自動入力 (AI 翻訳) の出力ファイルがどのように生成されるかを制御します。 | boolean | FilePathPattern | Partial<Record<Locale, boolean | FilePathPattern>> | true | { en: '/locales/en/{{key}}.json', fr: ({ key }) => '/locales/fr/${key}.json', es: false } | • true: デフォルトパス (ソースと同じファイル)。• false: 無効化。• 文字列/関数パターンは、ロケールごとのファイルを生成します。 • ロケールごとのオブジェクト: 各ロケールが独自のパターンに対応します。 false はそのロケールを無視します。• {{locale}} を含めると、ロケールごとの生成がトリガーされます。• 辞書レベルの fill は、常にこのグローバル設定よりも優先されます。 |
description | エディタや CMS が辞書の目的を理解するのに役立ちます。AI による翻訳生成のコンテキストとしても使用されます。 | string | undefined | 'User profile section' | |
locale | 辞書をロケールごとの形式に変換します。宣言された各フィールドが翻訳ノードになります。存在しない場合、辞書は多言語対応として扱われます。 | LocalesValues | undefined | 'en' | 辞書が複数の言語の翻訳を含むのではなく、特定のロケール専用である場合に使用します。 |
contentAutoTransformation | コンテンツの文字列を型付きノード (markdown, HTML, または insertion) に自動変換します。 | boolean | { markdown?: boolean; html?: boolean; insertion?: boolean } | false | true | • Markdown : ### Title → md('### Title')。• HTML : <div>Title</div> → html('<div>Title</div>')。• 挿入 (Insertion) : Hello {{name}} → insert('Hello {{name}}')。 |
location | 辞書ファイルの保存場所と CMS との同期方法を指定します。 | 'local' | 'remote' | 'hybrid' | 'plugin' | string | 'local' | 'hybrid' | • 'local': ローカルでのみ管理。• 'remote': リモート (CMS) でのみ管理。• 'hybrid': ローカルとリモートの両方で管理。• 'plugin' またはカスタム文字列: プラグインやカスタムソースによって管理。 |
importMode | 辞書のインポート方法を制御します。 | 'static' | 'dynamic' | 'fetch' | 'static' | 'dynamic' | • 'static': 静的インポート。• 'dynamic': Suspense を介した動的インポート。• 'fetch': Live Sync API を介して取得。失敗した場合は 'dynamic' にフォールバック。• @intlayer/babel および @intlayer/swc プラグインが必要。• キーは静的に宣言される必要があります。 • optimize がオフの場合は無視されます。• getIntlayer、getDictionary などには影響しません。 |
priority | 辞書の優先順位。辞書間の競合を解決する際、高い値が低い値に優先されます。 | number | undefined | 1 | |
live | 非推奨 - 代わりに importMode: 'fetch' を使用してください。辞書コンテンツを Live Sync API を介して動的に取得するかどうかを指定していました。 | boolean | undefined | v8.0.0 で importMode: 'fetch' に名前変更。 | |
schema | JSON スキーマ検証のために Intlayer によって自動生成されます。 | 'https://intlayer.org/schema.json' | 自動生成 | 手動で編集しないでください。 | |
title | エディタや CMS で辞書を識別するのに役立ちます。 | string | undefined | 'User Profile' | |
tags | 辞書をカテゴリ化し、エディタや AI にコンテキストや指示を提供します。 | string[] | undefined | ['user', 'profile'] | |
version | リモート辞書のバージョン。現在使用されているバージョンを追跡するのに役立ちます。 | string | undefined | '1.0.0' | • CMS で管理可能。 • ローカルで編集しないでください。 |
fill の例:
コードをクリップボードにコピー
ロガー設定 (Logger)
Intlayer からのログ出力をカスタマイズするためのパラメータ。
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 | デフォルト | 例 | 備考 |
|---|---|---|---|---|---|
mode | ロガーのモードを指定します。 | 'default' | 'verbose' | 'disabled' | 'default' | 'verbose' | • 'verbose': デバッグ用により多くの情報を出力します。• 'disabled': ロガーを完全に無効にします。 |
prefix | ログメッセージのプレフィックス。 | string | '[intlayer] ' | '[my prefix] ' |
AI 設定 (AI)
プロバイダー、モデル、API キーなど、Intlayer の AI 機能を制御する設定。
アクセストークンを使用して Intlayer ダッシュボード に登録されている場合、この設定はオプションです。Intlayer は、ニーズに合わせて最も効率的で費用対効果の高い AI ソリューションを自動的に管理します。デフォルトのオプションを使用することで、Intlayer が常に最適なモデルを使用するように更新されるため、長期的なメンテナンス性が向上します。
独自の API キーや特定のモデルを使用したい場合は、カスタム AI 設定を定義できます。
この AI 設定は、Intlayer 環境内でグローバルに使用されます。CLI コマンド (例: fill) はデフォルトでこれらの設定を使用します。また、SDK、ビジュアルエディタ、CMS も同様です。コマンドパラメータを介して、特定のユースケースに対してこれらのデフォルト値を上書きできます。
Intlayer は、柔軟性を最大限に高めるために複数の AI プロバイダーをサポートしています。現在サポートされているプロバイダーは次のとおりです。
- OpenAI (デフォルト)
- Anthropic Claude
- Mistral AI
- DeepSeek
- Google Gemini
- Google AI Studio
- Google Vertex
- Meta Llama
- Ollama
- OpenRouter
- Alibaba Cloud
- Fireworks
- Hugging Face
- Groq
- Amazon Bedrock
- Together.ai
- LM Studio
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 | デフォルト | 例 | 備考 |
|---|---|---|---|---|---|
provider | Intlayer の AI 機能に使用するプロバイダー。 | 'openai' | 'anthropic' | 'mistral' | 'deepseek' | 'gemini' | 'ollama' | 'openrouter' | 'alibaba' | 'fireworks' | 'groq' | 'huggingface' | 'bedrock' | 'googleaistudio' | 'googlevertex' | 'togetherai' | 'lmstudio' | undefined | 'anthropic' | プロバイダーによって、必要な API キーや価格が異なります。 |
model | AI 機能に使用するモデル。 | string | なし | 'gpt-4o-2024-11-20' | 特定のモデルはプロバイダーによって異なります。 |
temperature | AI の応答のランダム性を制御します。 | number | なし | 0.1 | 温度が高いほど、創造的で予測しにくくなります。 |
apiKey | 選択したプロバイダーの API キー。 | string | なし | process.env.OPENAI_API_KEY | 秘密にする必要があるため、環境変数に保存してください。 |
applicationContext | AI がより正確な翻訳を生成できるようにするための、アプリケーションに関する追加のコンテキスト (ドメイン、ターゲットオーディエンス、トーン、用語)。 | string | なし | '旅行予約アプリのコンテキスト' | ルールを追加するためにも使用できます (例: "URL を変換しないでください")。 |
baseURL | AI API のベース URL。 | string | なし | 'https://api.openai.com/v1''http://localhost:5000' | ローカルまたはカスタムの AI API エンドポイントを指すことができます。 |
dataSerialization | AI 機能のデータシリアライゼーション形式。 | 'json' | 'toon' | undefined | 'toon' | • 'json': デフォルト、信頼性が高いがトークン消費が多い。• 'toon': トークン消費が少ないが、一貫性に欠ける。• 推論の努力 (reasoning effort) などの追加パラメータがコンテキストとしてモデルに渡されます。 |
ビルド設定 (Build)
Intlayer がアプリケーションの国際化をどのように最適化およびコンパイルするかを制御するパラメータ。
ビルドオプションは、@intlayer/babel および @intlayer/swc プラグインに適用されます。
開発モードでは、Intlayer は開発体験を簡素化するために辞書の静的インポートを使用します。
最適化中、Intlayer はチャンキングを最適化するために辞書の呼び出しを置き換え、最終的なバンドルが実際に使用される辞書のみをインポートするようにします。
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 | デフォルト | 例 | 備考 |
|---|---|---|---|---|---|
mode | ビルドモードを制御します。 | 'auto' | 'manual' | 'auto' | 'manual' | • 'auto': アプリのビルド中にビルドが自動的にトリガーされます。• 'manual': ビルドコマンドが明示的に呼び出されたときにのみ実行されます。• 辞書のビルドを無効にするためにも使用できます (例: Node.js 環境での実行を停止する場合)。 |
optimize | ビルドの最適化を行うかどうかを制御します。 | boolean | undefined | process.env.NODE_ENV === 'production' | • 未定義の場合、フレームワークのビルド (Vite/Next.js) 時に最適化がトリガーされます。 • true の場合、開発モードでも強制的に最適化を行います。• false の場合、無効化されます。• 有効な場合、チャンキングを最適化するために辞書の呼び出しを置き換えます。 • @intlayer/babel および @intlayer/swc プラグインが必要。 |
minify | バンドルサイズを削減するために辞書を圧縮(Minify)する。 | boolean | false | • 最終的なバンドルを最小化するかどうかを指定します。 • デフォルト:本番環境では true。• optimize が無効な場合、このオプションは無視されます。• editor.enabled が真の場合、このオプションは無視されます。 | |
purge | 辞書内の未使用のキーを削除(Purge)する。 | boolean | false | • 最終的なバンドルをクリーンアップするかどうかを指定します。 • デフォルト:本番環境では true。• optimize が無効な場合、このオプションは無視されます。 | |
checkTypes | ビルド時に TypeScript の型チェックを行い、エラーを記録するかどうかを指定します。 | boolean | false | ビルドプロセスが遅くなる可能性があります。 | |
outputFormat | 辞書の出力形式を制御します。 | ('esm' | 'cjs')[] | ['esm', 'cjs'] | ['cjs'] | |
traversePattern | 最適化中にスキャンするファイルを定義するパターン。 | string[] | ['**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}', '!**/node_modules/**', '!**/dist/**', '!**/.intlayer/**', '!**/*.config.*', '!**/*.test.*', '!**/*.spec.*', '!**/*.stories.*'] | ['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**'] | • ビルドパフォーマンスを向上させるために、最適化対象を関連するファイルに限定します。 • optimize がオフの場合は無視されます。• glob パターンを使用します。 |
システム設定 (System)
これらの設定は、高度なユースケースおよび Intlayer の内部設定用です。
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 | デフォルト | 例 | 備考 |
|---|---|---|---|---|---|
dictionariesDir | コンパイルされた辞書用のディレクトリ。 | string | '.intlayer/dictionary' | ||
moduleAugmentationDir | TypeScript のモジュール拡張用ディレクトリ。 | string | '.intlayer/types' | ||
unmergedDictionariesDir | マージされていない辞書用のディレクトリ。 | string | '.intlayer/unmerged_dictionary' | ||
typesDir | 生成された型用のディレクトリ。 | string | '.intlayer/types' | ||
mainDir | Intlayer メインファイル用のディレクトリ。 | string | '.intlayer/main' | ||
configDir | コンパイルされた設定ファイル用のディレクトリ。 | string | '.intlayer/config' | ||
cacheDir | キャッシュファイル用のディレクトリ。 | string | '.intlayer/cache' |
コンパイラ設定 (Compiler)
コンポーネントから直接辞書を抽出する Intlayer コンパイラを制御する設定。
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 | デフォルト | 例 | 備考 |
|---|---|---|---|---|---|
enabled | 辞書の抽出のためにコンパイラを有効にするかどうかを指定します。 | boolean | 'build-only' | true | 'build-only' | 'build-only' は起動時間を短縮するため、開発中はコンパイラをスキップします。ビルドコマンドでのみ実行されます。 |
dictionaryKeyPrefix | 抽出された辞書キーのプレフィックス。 | string | '' | 'my-prefix-' | 競合を避けるために、(ファイル名に基づいた) 生成されたキーに追加されます。 |
saveComponents | 変換後のコンポーネントを保存するかどうか。 | boolean | false | • true の場合、元のファイルを変換後のバージョンで上書きします。• 実行後、コンパイラを削除することが可能になります。 | |
output | 出力ファイルのパスを定義します。outputDir を上書きします。変数テンプレートをサポート: {{fileName}}, {{key}}, {{locale}}, {{extension}}, {{componentFileName}}, {{componentExtension}}, {{format}}, {{componentFormat}}, {{componentDirPath}}。 | boolean | FilePathPattern | Partial<Record<Locale, boolean | FilePathPattern>> | undefined | './{{fileName}}{{extension}}''/locales/{{locale}}/{{key}}.json'{ en: ({ key }) => './locales/en/${key}.json', fr: '...', es: false } | • ./ はコンポーネントディレクトリ基準。• / はルート基準。• {{locale}} を含めるとロケールごとの生成がトリガーされます。• ロケールごとのオブジェクト記法をサポート。 |
noMetadata | true の場合、出力から辞書のメタデータ (キー、コンテンツラッパー) を除外します。 | boolean | false | false → {"key":"my-key","content":{"key":"value"}}true → {"key":"value"} | • i18next や ICU MessageFormat JSON 出力に有用。 • loadJSON プラグインと組み合わせて使用。 |
dictionaryKeyPrefix | 辞書のキープレフィックス | string | '' | 抽出された辞書キーにオプションのプレフィックスを追加します。 |
カスタムスキーマ (Custom Schemas)
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 |
|---|---|---|
schemas | 辞書の構造を検証するための Zod スキーマを定義できます。 | Record<string, ZodSchema> |
プラグイン (Plugins)
テーブルをモーダルで開き、すべてのデータを明確に表示
| フィールド | 説明 | 型 |
|---|---|---|
plugins | 有効にする Intlayer プラグインのリスト。 | IntlayerPlugin[] |