@intlayer/docs 8.2.4 → 8.3.0-canary.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/dist/cjs/blog.cjs.map +1 -1
  3. package/dist/cjs/common.cjs +1 -1
  4. package/dist/cjs/common.cjs.map +1 -1
  5. package/dist/cjs/doc.cjs.map +1 -1
  6. package/dist/cjs/frequentQuestions.cjs.map +1 -1
  7. package/dist/cjs/generated/blog.entry.cjs +1 -1
  8. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  9. package/dist/cjs/generated/docs.entry.cjs +1 -1
  10. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  11. package/dist/cjs/generated/frequentQuestions.entry.cjs +1 -1
  12. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  13. package/dist/cjs/generated/legal.entry.cjs +1 -1
  14. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  15. package/dist/cjs/legal.cjs.map +1 -1
  16. package/dist/esm/blog.mjs.map +1 -1
  17. package/dist/esm/common.mjs +1 -1
  18. package/dist/esm/common.mjs.map +1 -1
  19. package/dist/esm/doc.mjs.map +1 -1
  20. package/dist/esm/frequentQuestions.mjs.map +1 -1
  21. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  22. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  23. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  24. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  25. package/dist/esm/legal.mjs.map +1 -1
  26. package/dist/types/blog.d.ts +1 -1
  27. package/dist/types/common.d.ts +1 -1
  28. package/dist/types/common.d.ts.map +1 -1
  29. package/dist/types/doc.d.ts +1 -1
  30. package/dist/types/frequentQuestions.d.ts +1 -1
  31. package/dist/types/generated/blog.entry.d.ts +1 -1
  32. package/dist/types/generated/docs.entry.d.ts +1 -1
  33. package/dist/types/generated/frequentQuestions.entry.d.ts +1 -1
  34. package/dist/types/generated/legal.entry.d.ts +1 -1
  35. package/dist/types/legal.d.ts +1 -1
  36. package/docs/ar/compiler.md +73 -8
  37. package/docs/ar/configuration.md +74 -27
  38. package/docs/ar/intlayer_with_nextjs_compiler.md +13 -5
  39. package/docs/ar/intlayer_with_tanstack.md +22 -1
  40. package/docs/ar/intlayer_with_vite+react_compiler.md +13 -5
  41. package/docs/de/compiler.md +74 -9
  42. package/docs/de/configuration.md +61 -22
  43. package/docs/de/intlayer_with_nextjs_compiler.md +12 -4
  44. package/docs/de/intlayer_with_tanstack.md +22 -1
  45. package/docs/de/intlayer_with_vite+react_compiler.md +12 -4
  46. package/docs/en/compiler.md +79 -1
  47. package/docs/en/configuration.md +50 -9
  48. package/docs/en/intlayer_with_nextjs_compiler.md +9 -1
  49. package/docs/en/intlayer_with_tanstack.md +23 -2
  50. package/docs/en/intlayer_with_vite+react_compiler.md +9 -1
  51. package/docs/en-GB/compiler.md +72 -6
  52. package/docs/en-GB/configuration.md +50 -10
  53. package/docs/en-GB/intlayer_with_nextjs_compiler.md +22 -3
  54. package/docs/en-GB/intlayer_with_tanstack.md +22 -1
  55. package/docs/en-GB/intlayer_with_vite+react_compiler.md +22 -3
  56. package/docs/es/compiler.md +71 -6
  57. package/docs/es/configuration.md +65 -26
  58. package/docs/es/intlayer_with_nextjs_compiler.md +9 -1
  59. package/docs/es/intlayer_with_tanstack.md +22 -1
  60. package/docs/es/intlayer_with_vite+react_compiler.md +9 -1
  61. package/docs/fr/compiler.md +69 -4
  62. package/docs/fr/configuration.md +62 -23
  63. package/docs/fr/intlayer_with_nextjs_compiler.md +9 -1
  64. package/docs/fr/intlayer_with_tanstack.md +22 -1
  65. package/docs/fr/intlayer_with_vite+react_compiler.md +9 -1
  66. package/docs/hi/compiler.md +74 -9
  67. package/docs/hi/configuration.md +70 -23
  68. package/docs/hi/intlayer_with_nextjs_compiler.md +15 -7
  69. package/docs/hi/intlayer_with_tanstack.md +22 -1
  70. package/docs/hi/intlayer_with_vite+react_compiler.md +15 -7
  71. package/docs/id/compiler.md +73 -8
  72. package/docs/id/configuration.md +67 -20
  73. package/docs/id/intlayer_with_nextjs_compiler.md +13 -5
  74. package/docs/id/intlayer_with_tanstack.md +22 -1
  75. package/docs/id/intlayer_with_vite+react_compiler.md +13 -5
  76. package/docs/it/compiler.md +73 -8
  77. package/docs/it/configuration.md +66 -27
  78. package/docs/it/intlayer_with_nextjs_compiler.md +12 -4
  79. package/docs/it/intlayer_with_tanstack.md +22 -1
  80. package/docs/it/intlayer_with_vite+react_compiler.md +12 -4
  81. package/docs/ja/compiler.md +75 -10
  82. package/docs/ja/configuration.md +70 -23
  83. package/docs/ja/intlayer_with_nextjs_compiler.md +13 -5
  84. package/docs/ja/intlayer_with_tanstack.md +22 -1
  85. package/docs/ja/intlayer_with_vite+react_compiler.md +13 -5
  86. package/docs/ko/compiler.md +75 -10
  87. package/docs/ko/configuration.md +70 -23
  88. package/docs/ko/intlayer_with_nextjs_compiler.md +22 -3
  89. package/docs/ko/intlayer_with_tanstack.md +22 -1
  90. package/docs/ko/intlayer_with_vite+react_compiler.md +22 -3
  91. package/docs/pl/compiler.md +73 -8
  92. package/docs/pl/configuration.md +71 -29
  93. package/docs/pl/intlayer_with_nextjs_compiler.md +13 -5
  94. package/docs/pl/intlayer_with_tanstack.md +22 -1
  95. package/docs/pl/intlayer_with_vite+react_compiler.md +13 -5
  96. package/docs/pt/compiler.md +74 -9
  97. package/docs/pt/configuration.md +62 -23
  98. package/docs/pt/intlayer_with_nextjs_compiler.md +12 -4
  99. package/docs/pt/intlayer_with_tanstack.md +22 -1
  100. package/docs/pt/intlayer_with_vite+react_compiler.md +12 -4
  101. package/docs/ru/compiler.md +74 -9
  102. package/docs/ru/configuration.md +61 -22
  103. package/docs/ru/intlayer_with_nextjs_compiler.md +11 -3
  104. package/docs/ru/intlayer_with_tanstack.md +22 -1
  105. package/docs/ru/intlayer_with_vite+react_compiler.md +11 -3
  106. package/docs/tr/compiler.md +73 -8
  107. package/docs/tr/configuration.md +77 -42
  108. package/docs/tr/intlayer_with_nextjs_compiler.md +11 -3
  109. package/docs/tr/intlayer_with_tanstack.md +22 -1
  110. package/docs/tr/intlayer_with_vite+react_compiler.md +11 -3
  111. package/docs/uk/compiler.md +74 -9
  112. package/docs/uk/configuration.md +207 -165
  113. package/docs/uk/intlayer_with_nextjs_compiler.md +13 -5
  114. package/docs/uk/intlayer_with_tanstack.md +22 -1
  115. package/docs/uk/intlayer_with_vite+react_compiler.md +13 -5
  116. package/docs/vi/compiler.md +75 -10
  117. package/docs/vi/configuration.md +97 -21
  118. package/docs/vi/intlayer_with_nextjs_compiler.md +14 -6
  119. package/docs/vi/intlayer_with_tanstack.md +22 -1
  120. package/docs/vi/intlayer_with_vite+react_compiler.md +14 -6
  121. package/docs/zh/compiler.md +75 -10
  122. package/docs/zh/configuration.md +77 -42
  123. package/docs/zh/intlayer_with_nextjs_compiler.md +13 -5
  124. package/docs/zh/intlayer_with_tanstack.md +22 -1
  125. package/docs/zh/intlayer_with_vite+react_compiler.md +13 -5
  126. package/package.json +17 -17
  127. package/src/blog.ts +1 -1
  128. package/src/common.ts +2 -1
  129. package/src/doc.ts +1 -1
  130. package/src/frequentQuestions.ts +1 -1
  131. package/src/generated/blog.entry.ts +1 -1
  132. package/src/generated/docs.entry.ts +1 -1
  133. package/src/generated/frequentQuestions.entry.ts +1 -1
  134. package/src/generated/legal.entry.ts +1 -1
  135. package/src/legal.ts +1 -1
@@ -19,6 +19,9 @@ slugs:
19
19
  applicationTemplate: https://github.com/aymericzip/intlayer-vite-react-template
20
20
  youtubeVideo: https://www.youtube.com/watch?v=dS9L7uJeak4
21
21
  history:
22
+ - version: 8.2.0
23
+ date: 2026-03-09
24
+ changes: Update compiler options, add FilePathPattern support
22
25
  - version: 8.1.6
23
26
  date: 2026-02-23
24
27
  changes: Rilascio iniziale
@@ -137,16 +140,21 @@ const config: IntlayerConfig = {
137
140
  /**
138
141
  * Directory di output per i dizionari ottimizzati.
139
142
  */
140
- outputDir: "compiler",
143
+ output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
141
144
 
142
145
  /**
143
- * Prefisso della chiave del dizionario
146
+ * Inserisci solo il contenuto nel file generato, senza chiave.
144
147
  */
145
- dictionaryKeyPrefix: "", // Rimuovi il prefisso di base
148
+ noMetadata: false,
149
+
150
+ /**
151
+ * Prefisso chiave dizionario
152
+ */
153
+ dictionaryKeyPrefix: "", // Remove base prefix
146
154
 
147
155
  /**
148
156
  * Indica se i componenti devono essere salvati dopo essere stati trasformati.
149
- * In questo modo, il compilatore può essere eseguito una sola volta per trasformare l'app e può quindi essere rimosso.
157
+ * In questo modo, il compilatore può essere eseguito una sola volta per trasformare l'app e poi rimosso.
150
158
  */
151
159
  saveComponents: false,
152
160
  },
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-09-09
3
- updatedAt: 2026-02-25
3
+ updatedAt: 2026-03-10
4
4
  title: Intlayer コンパイラー | i18n のための自動コンテンツ抽出
5
5
  description: Intlayer コンパイラーで国際化プロセスを自動化しましょう。コンポーネントから直接コンテンツを抽出し、Vite、Next.js などでより高速かつ効率的な i18n を実現します。
6
6
  keywords:
@@ -20,6 +20,9 @@ slugs:
20
20
  - doc
21
21
  - compiler
22
22
  history:
23
+ - version: 8.2.0
24
+ date: 2026-03-10
25
+ changes: Update compiler options, add FilePathPattern support
23
26
  - version: 8.1.7
24
27
  date: 2026-02-25
25
28
  changes: コンパイラーオプションの更新
@@ -157,13 +160,12 @@ import { type IntlayerConfig, Locales } from "intlayer";
157
160
  const config: IntlayerConfig = {
158
161
  compiler: {
159
162
  /**
160
- * コンパイラを有効にするかどうかを指定します。
161
- * 開発中にコンパイラをスキップして起動時間を短縮するには、'build-only' に設定します。
163
+ * 開発中のコンパイラをスキップして起動時間を短縮するには、'build-only'に設定します。
162
164
  */
163
165
  enabled: true,
164
166
 
165
167
  /**
166
- * 最適化するためにコードを走査するパターン。
168
+ * Pattern to traverse the code to optimize.
167
169
  */
168
170
  transformPattern: [
169
171
  "**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
@@ -171,23 +173,28 @@ const config: IntlayerConfig = {
171
173
  ],
172
174
 
173
175
  /**
174
- * 最適化から除外するパターン。
176
+ * Pattern to exclude from the optimization.
175
177
  */
176
178
  excludePattern: ["**/node_modules/**"],
177
179
 
178
180
  /**
179
181
  * 最適化された辞書の出力ディレクトリ。
180
182
  */
181
- outputDir: "i18n",
183
+ output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
182
184
 
183
185
  /**
184
- * 辞書のキープレフィックス
186
+ * キーなしで、生成されたファイルにコンテンツのみを挿入します。
185
187
  */
186
- dictionaryKeyPrefix: "", // ベースプレフィックスを削除
188
+ noMetadata: false,
187
189
 
188
190
  /**
189
- * コンポーネントを変換した後に保存するかどうかを指定します。
190
- * そうすることで、コンパイラを 1 回だけ実行してアプリを変換し、その後削除することができます。
191
+ * 辞書キーのプレフィックス
192
+ */
193
+ dictionaryKeyPrefix: "", // Remove base prefix
194
+
195
+ /**
196
+ * 変換後にコンポーネントを保存するかどうかを示します。
197
+ * これにより、コンパイラを1回だけ実行してアプリを変換し、その後削除することができます。
191
198
  */
192
199
  saveComponents: false,
193
200
  },
@@ -209,3 +216,61 @@ npx intlayer fill # 欠落した翻訳を埋める
209
216
  ```
210
217
 
211
218
  > 詳細については、[CLIドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/cli/ci.md)を参照してください。
219
+
220
+ ### コンパイラ設定リファレンス
221
+
222
+ 以下のプロパティは、`intlayer.config.ts`ファイルの`compiler`ブロックで設定できます。
223
+
224
+ - **enabled**:
225
+ - _タイプ_: `boolean | 'build-only'`
226
+ - _デフォルト_: `true`
227
+ - _説明_: コンパイラを有効にするかどうかを示します。
228
+ - **dictionaryKeyPrefix**:
229
+ - _タイプ_: `string`
230
+ - _デフォルト_: `'comp-'`
231
+ - _説明_: 抽出された辞書キーのプレフィックス。
232
+ - **transformPattern**:
233
+ - _タイプ_: `string | string[]`
234
+ - _デフォルト_: `['**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}', '!**/node_modules/**']`
235
+ - _説明_: 最適化のためにコードをトラバースするパターン。
236
+ - **excludePattern**:
237
+ - _タイプ_: `string | string[]`
238
+ - _デフォルト_: `['**/node_modules/**']`
239
+ - _説明_: 最適化から除外するパターン。
240
+ - **outputDir** (Deprecated):
241
+ - _タイプ_: `string`
242
+ - _デフォルト_: `'compiler'`
243
+ - _説明_: 抽出された辞書が保存されるディレクトリ。
244
+
245
+ - **output**:
246
+ - _型_: `FilePathPattern`
247
+ - _デフォルト_: `({ key }) => 'compiler/${key}.content.json'`
248
+ - _説明_: 出力ファイルのパスを定義します。 `outputDir` を置き換えます。 `{{locale}}`、 `{{key}}`、 `{{fileName}}`、 `{{extension}}`、 `{{format}}`、 `{{dirPath}}`、 `{{componentFileName}}`、 `{{componentExtension}}`、 `{{componentFormat}}` などの動的変数を処理します。 `'my/{{var}}/path'` 形式の文字列または関数として設定できます。
249
+ - _注_: `./**/*` パスはコンポーネントを基準に解決されます。 `/**/*` パスは Intlayer の `baseDir` を基準に解決されます。
250
+ - _例_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
251
+
252
+ - **noMetadata**:
253
+ - _タイプ_: `boolean`
254
+ - _デフォルト_: `false`
255
+ - _説明_: メタデータをファイルに保存するかどうかを示します。trueの場合、コンパイラは辞書のメタデータ(キー、コンテンツラッパー)を保存しません。
256
+ - _注_: `loadJSON`プラグインを使用する場合に便利です。
257
+ - _例_: `true`の場合:
258
+ ```json
259
+ {
260
+ "key": "value"
261
+ }
262
+ ```
263
+ `false`の場合:
264
+ ```json
265
+ {
266
+ "key": "value",
267
+ "content": {
268
+ "key": "value"
269
+ }
270
+ }
271
+ ```
272
+
273
+ - **saveComponents**:
274
+ - _タイプ_: `boolean`
275
+ - _デフォルト_: `false`
276
+ - _説明_: 変換後にコンポーネントを保存するかどうかを示します。
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2026-02-25
3
+ updatedAt: 2026-03-11
4
4
  title: 設定
5
5
  description: Intlayerをアプリケーション向けに設定する方法を学びます。Intlayerをニーズに合わせてカスタマイズするためのさまざまな設定やオプションについて理解しましょう。
6
6
  keywords:
@@ -14,18 +14,24 @@ slugs:
14
14
  - concept
15
15
  - configuration
16
16
  history:
17
+ - version: 8.3.0
18
+ data: 2026-03-11
19
+ changes: 'baseDir' を 'content' 設定から 'system' 設定に移動
20
+ - version: 8.2.0
21
+ date: 2026-03-10
22
+ changes: コンパイラーオプションの更新、'output' および 'noMetadata' のサポートを追加
17
23
  - version: 8.1.7
18
24
  date: 2026-02-25
19
25
  changes: コンパイラーオプションの更新
20
26
  - version: 8.0.6
21
27
  date: 2026-02-12
22
- changes: Add support for Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face, and Together.ai providers
28
+ changes: Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face, Together.ai プロバイダーのサポートを追加
23
29
  - version: 8.0.5
24
30
  date: 2026-02-06
25
31
  changes: AI設定に `dataSerialization` を追加
26
32
  - version: 8.0.0
27
33
  date: 2026-01-22
28
- changes: Move `importMode` build configuration to `dictionary` configuration.
34
+ changes: importMode のビルド設定を辞書設定に移動。
29
35
  - version: 8.0.0
30
36
  date: 2026-01-18
31
37
  changes: システム設定をコンテンツ設定から分離。内部パスを `system` プロパティに移動。コンテンツファイルとコード変換を分離するために `codeDir` を追加。
@@ -422,7 +428,7 @@ const config: IntlayerConfig = {
422
428
  */
423
429
  compiler: {
424
430
  /**
425
- * Indicates if the compiler should be enabled.
431
+ * コンパイラを有効にするかどうかを示します。
426
432
  */
427
433
  enabled: true,
428
434
 
@@ -440,18 +446,23 @@ const config: IntlayerConfig = {
440
446
  excludePattern: ["**/node_modules/**"],
441
447
 
442
448
  /**
443
- * Output directory for the optimized dictionaries.
449
+ * 最適化された辞書の出力ディレクトリ。
444
450
  */
445
- outputDir: "compiler",
451
+ output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
446
452
 
447
453
  /**
448
- * Dictionary key prefix
454
+ * キーなしで、生成されたファイルにコンテンツのみを挿入します。
455
+ */
456
+ noMetadata: false,
457
+
458
+ /**
459
+ * 辞書キーのプレフィックス
449
460
  */
450
461
  dictionaryKeyPrefix: "", // Remove base prefix
451
462
 
452
463
  /**
453
- * Indicates if the components should be saved after being transformed.
454
- * That way, the compiler can be run only once to transform the app, and then it can be removed.
464
+ * 変換後にコンポーネントを保存するかどうかを示します。
465
+ * これにより、コンパイラを1回だけ実行してアプリを変換し、その後削除することができます。
455
466
  */
456
467
  saveComponents: false,
457
468
  },
@@ -707,7 +718,7 @@ export default config;
707
718
  #### プロパティ
708
719
 
709
720
  - **autoFill**:
710
- - _型_: `boolean | string | { [key in Locales]?: string }`
721
+ - _型_: `boolean | string | FilePathPattern | { [key in Locales]?: string }`
711
722
  - _デフォルト_: `undefined`
712
723
  - _説明_: コンテンツをAIを使って自動的にどのように埋めるかを示します。`intlayer.config.ts`ファイルでグローバルに宣言することができます。
713
724
  - _例_: true
@@ -730,13 +741,6 @@ export default config;
730
741
  - _例_: `['.data.ts', '.data.js', '.data.json']`
731
742
  - _注意_: ファイル拡張子をカスタマイズすることで競合を回避できます。
732
743
 
733
- - **baseDir**:
734
- - _タイプ_: `string`
735
- - _デフォルト_: `process.cwd()`
736
- - _説明_: プロジェクトのベースディレクトリ。
737
- - _例_: `'/path/to/project'`
738
- - _注意_: これはすべてのIntlayer関連ディレクトリを解決するために使用されます。
739
-
740
744
  - **dictionaryOutput**:
741
745
  - _タイプ_: `string[]`
742
746
  - _デフォルト_: `['intlayer']`
@@ -805,6 +809,21 @@ export default config;
805
809
  - _説明_: コンテンツ検索から除外するディレクトリ。
806
810
  - _注意_: この設定はまだ使用されていませんが、将来的に実装予定です。
807
811
 
812
+ ---
813
+
814
+ ### システム設定
815
+
816
+ Intlayerの内部パスと出力結果に関連する設定。これらの設定は通常内部的なものであり、ユーザーが変更する必要はありません。
817
+
818
+ #### プロパティ
819
+
820
+ - **baseDir**:
821
+ - _タイプ_: `string`
822
+ - _デフォルト_: `process.cwd()`
823
+ - _説明_: プロジェクトのベースディレクトリ。
824
+ - _例_: `'/path/to/project'`
825
+ - _注意_: これはすべてのIntlayer関連ディレクトリを解決するために使用されます。
826
+
808
827
  ### 辞書設定
809
828
 
810
829
  自動入力の動作やコンテンツ生成を含む、辞書操作を制御する設定。
@@ -850,7 +869,7 @@ export default config;
850
869
  - _デフォルト_: `'[intlayer] '`
851
870
  - _説明_: ロガーのプレフィックス。
852
871
  - _例_: `'[my custom prefix] '`
853
- - _Note_: ロガーのプレフィックス。
872
+ - _注_: ロガーのプレフィックス。
854
873
 
855
874
  ### AI構成
856
875
 
@@ -953,10 +972,10 @@ Intlayerがアプリケーションの国際化をどのように最適化しビ
953
972
  - _注意_: 辞書のビルドを無効にするために使用できます。たとえば、Node.js環境での実行を避ける必要がある場合などです。
954
973
 
955
974
  - **checkTypes**:
956
- - _Type_: `boolean`
957
- - _Default_: `false`
958
- - _Description_: ビルドがTypeScriptの型をチェックし、エラーをログに記録するかどうかを示します。
959
- - _Note_: これにより、ビルドが遅くなる可能性があります。
975
+ - _タイプ_: `boolean`
976
+ - _デフォルト_: `false`
977
+ - _説明_: ビルドがTypeScriptの型をチェックし、エラーをログに記録するかどうかを示します。
978
+ - _注_: これにより、ビルドが遅くなる可能性があります。
960
979
 
961
980
  - **optimize**:
962
981
  - _型_: `boolean`
@@ -969,7 +988,7 @@ Intlayerがアプリケーションの国際化をどのように最適化しビ
969
988
  - _注意_: `useIntlayer`の呼び出し内で、すべてのキーが静的に宣言されていることを確認してください。例: `useIntlayer('navbar')`。
970
989
 
971
990
  - **importMode**:
972
- - _Note_: **Deprecated**: Use `dictionary.importMode` instead.
991
+ - _注_: **Deprecated**: Use `dictionary.importMode` instead.
973
992
  - _タイプ_: `'static' | 'dynamic' | 'fetch'`
974
993
  - _デフォルト_: `'static'`
975
994
  - _説明_: 辞書のインポート方法を制御します。
@@ -1048,3 +1067,31 @@ Intlayerがアプリケーションの国際化をどのように最適化しビ
1048
1067
  - _型_: `string`
1049
1068
  - _デフォルト_: `'compiler'`
1050
1069
  - _説明_: 抽出された辞書が保存されるディレクトリ(プロジェクトのベースパスからの相対パス)。
1070
+
1071
+ - **output**:
1072
+ - _型_: `FilePathPattern`
1073
+ - _デフォルト_: `({ key }) => 'compiler/${key}.content.json'`
1074
+ - _説明_: 出力ファイルのパスを定義します。 `outputDir` を置き換えます。 `{{locale}}`、 `{{key}}`、 `{{fileName}}`、 `{{extension}}`、 `{{format}}`、 `{{dirPath}}`、 `{{componentFileName}}`、 `{{componentExtension}}`、 `{{componentFormat}}` などの動的変数を処理します。 `'my/{{var}}/path'` 形式の文字列または関数として設定できます。
1075
+ - _注_: `./**/*` パスはコンポーネントを基準に解決されます。 `/**/*` パスは Intlayer の `baseDir` を基準に解決されます。
1076
+ - _例_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
1077
+
1078
+ - **noMetadata**:
1079
+ - _タイプ_: `boolean`
1080
+ - _デフォルト_: `false`
1081
+ - _説明_: メタデータをファイルに保存するかどうかを示します。trueの場合、コンパイラは辞書のメタデータ(キー、コンテンツラッパー)を保存しません。
1082
+ - _注_: `loadJSON`プラグインを使用する場合に便利です。
1083
+ - _例_: `true`の場合:
1084
+ ```json
1085
+ {
1086
+ "key": "value"
1087
+ }
1088
+ ```
1089
+ `false`の場合:
1090
+ ```json
1091
+ {
1092
+ "key": "value",
1093
+ "content": {
1094
+ "key": "value"
1095
+ }
1096
+ }
1097
+ ```
@@ -20,6 +20,9 @@ slugs:
20
20
  applicationTemplate: https://github.com/aymericzip/intlayer-next-no-lolale-path-template
21
21
  youtubeVideo: https://www.youtube.com/watch?v=e_PPG7PTqGU
22
22
  history:
23
+ - version: 8.2.0
24
+ date: 2026-03-09
25
+ changes: Update compiler options, add FilePathPattern support
23
26
  - version: 8.1.6
24
27
  date: 2026-02-23
25
28
  changes: 初期リリース
@@ -128,23 +131,28 @@ const config: IntlayerConfig = {
128
131
  },
129
132
  compiler: {
130
133
  /**
131
- * コンパイラを有効にするかどうかを指定します。
134
+ * コンパイラを有効にするかどうかを示します。
132
135
  */
133
136
  enabled: true,
134
137
 
135
138
  /**
136
139
  * 最適化された辞書の出力ディレクトリ。
137
140
  */
138
- outputDir: "compiler",
141
+ output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
142
+
143
+ /**
144
+ * キーなしで、生成されたファイルにコンテンツのみを挿入します。
145
+ */
146
+ noMetadata: false,
139
147
 
140
148
  /**
141
149
  * 辞書キーのプレフィックス
142
150
  */
143
- dictionaryKeyPrefix: "", // ベースプレフィックスを削除
151
+ dictionaryKeyPrefix: "", // Remove base prefix
144
152
 
145
153
  /**
146
- * 変換後にコンポーネントを保存するかどうかを指定します。
147
- * これにより、コンパイラを 1 回実行してアプリを変換し、その後コンパイラを削除できるようになります。
154
+ * 変換後にコンポーネントを保存するかどうかを示します。
155
+ * これにより、コンパイラを1回だけ実行してアプリを変換し、その後削除することができます。
148
156
  */
149
157
  saveComponents: false,
150
158
  },
@@ -437,12 +437,33 @@ export const Route = createFileRoute("/{-$locale}/")({
437
437
  component: RouteComponent,
438
438
  head: ({ params }) => {
439
439
  const { locale } = params;
440
+ const path = "/"; // The path for this route
441
+
440
442
  const metaContent = getIntlayer("app", locale);
441
443
 
442
444
  return {
445
+ links: [
446
+ // Canonical link: Points to the current localized page
447
+ { rel: "canonical", href: getLocalizedUrl(path, locale) },
448
+
449
+ // Hreflang: Tell Google about all localized versions
450
+ ...localeMap(({ locale: mapLocale }) => ({
451
+ rel: "alternate",
452
+ hrefLang: mapLocale,
453
+ href: getLocalizedUrl(path, mapLocale),
454
+ })),
455
+
456
+ // x-default: For users in unmatched languages
457
+ // Define the default fallback locale (usually your primary language)
458
+ {
459
+ rel: "alternate",
460
+ hrefLang: "x-default",
461
+ href: getLocalizedUrl(path, defaultLocale),
462
+ },
463
+ ],
443
464
  meta: [
444
465
  { title: metaContent.title },
445
- { content: metaContent.meta.description, name: "description" },
466
+ { name: "description", content: metaContent.meta.description },
446
467
  ],
447
468
  };
448
469
  },
@@ -19,6 +19,9 @@ slugs:
19
19
  applicationTemplate: https://github.com/aymericzip/intlayer-vite-react-template
20
20
  youtubeVideo: https://www.youtube.com/watch?v=dS9L7uJeak4
21
21
  history:
22
+ - version: 8.2.0
23
+ date: 2026-03-09
24
+ changes: Update compiler options, add FilePathPattern support
22
25
  - version: 8.1.6
23
26
  date: 2026-02-23
24
27
  changes: 初回リリース
@@ -125,23 +128,28 @@ const config: IntlayerConfig = {
125
128
  },
126
129
  compiler: {
127
130
  /**
128
- * コンパイラを有効にするかどうかを指定します。
131
+ * コンパイラを有効にするかどうかを示します。
129
132
  */
130
133
  enabled: true,
131
134
 
132
135
  /**
133
136
  * 最適化された辞書の出力ディレクトリ。
134
137
  */
135
- outputDir: "compiler",
138
+ output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
139
+
140
+ /**
141
+ * キーなしで、生成されたファイルにコンテンツのみを挿入します。
142
+ */
143
+ noMetadata: false,
136
144
 
137
145
  /**
138
146
  * 辞書キーのプレフィックス
139
147
  */
140
- dictionaryKeyPrefix: "", // ベースプレフィックスを削除
148
+ dictionaryKeyPrefix: "", // Remove base prefix
141
149
 
142
150
  /**
143
- * 変換後にコンポーネントを保存するかどうかを指定します。
144
- * これにより、コンパイラを 1 回実行してアプリを変換し、その後コンパイラを削除できるようになります。
151
+ * 変換後にコンポーネントを保存するかどうかを示します。
152
+ * これにより、コンパイラを1回だけ実行してアプリを変換し、その後削除することができます。
145
153
  */
146
154
  saveComponents: false,
147
155
  },
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-09-09
3
- updatedAt: 2026-02-25
3
+ updatedAt: 2026-03-10
4
4
  title: Intlayer 컴파일러 | i18n을 위한 자동화된 콘텐츠 추출
5
5
  description: Intlayer 컴파일러로 국제화 프로세스를 자동화하세요. Vite, Next.js 등에서 더 빠르고 효율적인 i18n을 위해 컴포넌트에서 직접 콘텐츠를 추출합니다.
6
6
  keywords:
@@ -20,6 +20,9 @@ slugs:
20
20
  - doc
21
21
  - compiler
22
22
  history:
23
+ - version: 8.2.0
24
+ date: 2026-03-10
25
+ changes: Update compiler options, add FilePathPattern support
23
26
  - version: 8.1.7
24
27
  date: 2026-02-25
25
28
  changes: 컴파일러 옵션 업데이트
@@ -157,13 +160,12 @@ import { type IntlayerConfig, Locales } from "intlayer";
157
160
  const config: IntlayerConfig = {
158
161
  compiler: {
159
162
  /**
160
- * 컴파일러를 활성화할지 여부를 나타냅니다.
161
- * 개발 중에 컴파일러를 건너뛰고 시작 시간을 단축하려면 'build-only'로 설정하세요.
163
+ * 개발 중에 컴파일러를 건너뛰고 시작 시간을 단축하려면 'build-only'로 설정하십시오.
162
164
  */
163
165
  enabled: true,
164
166
 
165
167
  /**
166
- * 최적화할 코드를 순회하는 패턴.
168
+ * Pattern to traverse the code to optimize.
167
169
  */
168
170
  transformPattern: [
169
171
  "**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
@@ -171,23 +173,28 @@ const config: IntlayerConfig = {
171
173
  ],
172
174
 
173
175
  /**
174
- * 최적화에서 제외할 패턴.
176
+ * Pattern to exclude from the optimization.
175
177
  */
176
178
  excludePattern: ["**/node_modules/**"],
177
179
 
178
180
  /**
179
- * 최적화된 사전의 출력 디렉토리.
181
+ * 최적화된 사전의 출력 디렉터리.
180
182
  */
181
- outputDir: "i18n",
183
+ output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
184
+
185
+ /**
186
+ * 키 없이 생성된 파일에 콘텐츠만 삽입합니다.
187
+ */
188
+ noMetadata: false,
182
189
 
183
190
  /**
184
191
  * 사전 키 접두사
185
192
  */
186
- dictionaryKeyPrefix: "", // 기본 접두사 제거
193
+ dictionaryKeyPrefix: "", // Remove base prefix
187
194
 
188
195
  /**
189
- * 컴포넌트가 변환된 후 저장되어야 하는지 여부를 나타냅니다.
190
- * 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 나중에 제거할 수 있습니다.
196
+ * 변환된 후 구성 요소를 저장할지 여부를 나타냅니다.
197
+ * 이렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
191
198
  */
192
199
  saveComponents: false,
193
200
  },
@@ -209,3 +216,61 @@ npx intlayer fill # 누락된 번역 채우기
209
216
  ```
210
217
 
211
218
  > 자세한 내용은 [CLI 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/ci.md)를 참조하세요.
219
+
220
+ ### 컴파일러 구성 참조
221
+
222
+ 다음 속성은 `intlayer.config.ts` 파일의 `compiler` 블록에서 구성할 수 있습니다.
223
+
224
+ - **enabled**:
225
+ - _형식_: `boolean | 'build-only'`
226
+ - _기본값_: `true`
227
+ - _설명_: 컴파일러 활성화 여부를 나타냅니다.
228
+ - **dictionaryKeyPrefix**:
229
+ - _형식_: `string`
230
+ - _기본값_: `'comp-'`
231
+ - _설명_: 추출된 사전 키의 접두사.
232
+ - **transformPattern**:
233
+ - _형식_: `string | string[]`
234
+ - _기본값_: `['**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}', '!**/node_modules/**']`
235
+ - _설명_: 최적화할 코드를 탐색하는 패턴.
236
+ - **excludePattern**:
237
+ - _형식_: `string | string[]`
238
+ - _기본값_: `['**/node_modules/**']`
239
+ - _설명_: 최적화에서 제외할 패턴.
240
+ - **outputDir** (Deprecated):
241
+ - _형식_: `string`
242
+ - _기본값_: `'compiler'`
243
+ - _설명_: 추출된 사전이 저장될 디렉터리.
244
+
245
+ - **output**:
246
+ - _형식_: `FilePathPattern`
247
+ - _기본값_: `({ key }) => 'compiler/${key}.content.json'`
248
+ - _설명_: 출력 파일 경로를 정의합니다. `outputDir`을 대체합니다. `{{locale}}`, `{{key}}`, `{{fileName}}`, `{{extension}}`, `{{format}}`, `{{dirPath}}`, `{{componentFileName}}`, `{{componentExtension}}`, `{{componentFormat}}`와 같은 동적 변수를 처리합니다. `'my/{{var}}/path'` 형식을 사용하여 문자열로 설정하거나 함수로 설정할 수 있습니다.
249
+ - _참고_: `./**/*` 경로는 구성 요소를 기준으로 해결됩니다. `/**/*` 경로는 Intlayer `baseDir`을 기준으로 해결됩니다.
250
+ - _예시_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
251
+
252
+ - **noMetadata**:
253
+ - _형식_: `boolean`
254
+ - _기본값_: `false`
255
+ - _설명_: 메타데이터를 파일에 저장할지 여부를 나타냅니다. true인 경우 컴파일러는 사전의 메타데이터(키, 콘텐츠 래퍼)를 저장하지 않습니다.
256
+ - _참고_: `loadJSON` 플러그인과 함께 사용할 때 유용합니다.
257
+ - _예시_: `true`인 경우:
258
+ ```json
259
+ {
260
+ "key": "value"
261
+ }
262
+ ```
263
+ `false`인 경우:
264
+ ```json
265
+ {
266
+ "key": "value",
267
+ "content": {
268
+ "key": "value"
269
+ }
270
+ }
271
+ ```
272
+
273
+ - **saveComponents**:
274
+ - _형식_: `boolean`
275
+ - _기본값_: `false`
276
+ - _설명_: 변환된 후 구성 요소를 저장할지 여부를 나타냅니다.