@intlayer/docs 8.2.4 → 8.3.0-canary.0

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 (117) 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 +53 -17
  38. package/docs/ar/intlayer_with_nextjs_compiler.md +13 -5
  39. package/docs/ar/intlayer_with_vite+react_compiler.md +13 -5
  40. package/docs/de/compiler.md +74 -9
  41. package/docs/de/configuration.md +49 -13
  42. package/docs/de/intlayer_with_nextjs_compiler.md +12 -4
  43. package/docs/de/intlayer_with_vite+react_compiler.md +12 -4
  44. package/docs/en/compiler.md +79 -1
  45. package/docs/en/configuration.md +39 -1
  46. package/docs/en/intlayer_with_nextjs_compiler.md +9 -1
  47. package/docs/en/intlayer_with_vite+react_compiler.md +9 -1
  48. package/docs/en-GB/compiler.md +72 -6
  49. package/docs/en-GB/configuration.md +39 -2
  50. package/docs/en-GB/intlayer_with_nextjs_compiler.md +22 -3
  51. package/docs/en-GB/intlayer_with_vite+react_compiler.md +22 -3
  52. package/docs/es/compiler.md +71 -6
  53. package/docs/es/configuration.md +52 -16
  54. package/docs/es/intlayer_with_nextjs_compiler.md +9 -1
  55. package/docs/es/intlayer_with_vite+react_compiler.md +9 -1
  56. package/docs/fr/compiler.md +69 -4
  57. package/docs/fr/configuration.md +50 -14
  58. package/docs/fr/intlayer_with_nextjs_compiler.md +9 -1
  59. package/docs/fr/intlayer_with_vite+react_compiler.md +9 -1
  60. package/docs/hi/compiler.md +74 -9
  61. package/docs/hi/configuration.md +49 -13
  62. package/docs/hi/intlayer_with_nextjs_compiler.md +15 -7
  63. package/docs/hi/intlayer_with_vite+react_compiler.md +15 -7
  64. package/docs/id/compiler.md +73 -8
  65. package/docs/id/configuration.md +46 -10
  66. package/docs/id/intlayer_with_nextjs_compiler.md +13 -5
  67. package/docs/id/intlayer_with_vite+react_compiler.md +13 -5
  68. package/docs/it/compiler.md +73 -8
  69. package/docs/it/configuration.md +54 -18
  70. package/docs/it/intlayer_with_nextjs_compiler.md +12 -4
  71. package/docs/it/intlayer_with_vite+react_compiler.md +12 -4
  72. package/docs/ja/compiler.md +75 -10
  73. package/docs/ja/configuration.md +50 -14
  74. package/docs/ja/intlayer_with_nextjs_compiler.md +13 -5
  75. package/docs/ja/intlayer_with_vite+react_compiler.md +13 -5
  76. package/docs/ko/compiler.md +75 -10
  77. package/docs/ko/configuration.md +50 -14
  78. package/docs/ko/intlayer_with_nextjs_compiler.md +22 -3
  79. package/docs/ko/intlayer_with_vite+react_compiler.md +22 -3
  80. package/docs/pl/compiler.md +73 -8
  81. package/docs/pl/configuration.md +47 -11
  82. package/docs/pl/intlayer_with_nextjs_compiler.md +13 -5
  83. package/docs/pl/intlayer_with_vite+react_compiler.md +13 -5
  84. package/docs/pt/compiler.md +74 -9
  85. package/docs/pt/configuration.md +50 -14
  86. package/docs/pt/intlayer_with_nextjs_compiler.md +12 -4
  87. package/docs/pt/intlayer_with_vite+react_compiler.md +12 -4
  88. package/docs/ru/compiler.md +74 -9
  89. package/docs/ru/configuration.md +49 -13
  90. package/docs/ru/intlayer_with_nextjs_compiler.md +11 -3
  91. package/docs/ru/intlayer_with_vite+react_compiler.md +11 -3
  92. package/docs/tr/compiler.md +73 -8
  93. package/docs/tr/configuration.md +53 -17
  94. package/docs/tr/intlayer_with_nextjs_compiler.md +11 -3
  95. package/docs/tr/intlayer_with_vite+react_compiler.md +11 -3
  96. package/docs/uk/compiler.md +74 -9
  97. package/docs/uk/configuration.md +183 -147
  98. package/docs/uk/intlayer_with_nextjs_compiler.md +13 -5
  99. package/docs/uk/intlayer_with_vite+react_compiler.md +13 -5
  100. package/docs/vi/compiler.md +75 -10
  101. package/docs/vi/configuration.md +47 -11
  102. package/docs/vi/intlayer_with_nextjs_compiler.md +14 -6
  103. package/docs/vi/intlayer_with_vite+react_compiler.md +14 -6
  104. package/docs/zh/compiler.md +75 -10
  105. package/docs/zh/configuration.md +54 -18
  106. package/docs/zh/intlayer_with_nextjs_compiler.md +13 -5
  107. package/docs/zh/intlayer_with_vite+react_compiler.md +13 -5
  108. package/package.json +16 -16
  109. package/src/blog.ts +1 -1
  110. package/src/common.ts +2 -1
  111. package/src/doc.ts +1 -1
  112. package/src/frequentQuestions.ts +1 -1
  113. package/src/generated/blog.entry.ts +1 -1
  114. package/src/generated/docs.entry.ts +1 -1
  115. package/src/generated/frequentQuestions.entry.ts +1 -1
  116. package/src/generated/legal.entry.ts +1 -1
  117. package/src/legal.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2026-02-25
3
+ updatedAt: 2026-03-10
4
4
  title: 設定
5
5
  description: Intlayerをアプリケーション向けに設定する方法を学びます。Intlayerをニーズに合わせてカスタマイズするためのさまざまな設定やオプションについて理解しましょう。
6
6
  keywords:
@@ -14,6 +14,9 @@ slugs:
14
14
  - concept
15
15
  - configuration
16
16
  history:
17
+ - version: 8.2.0
18
+ date: 2026-03-10
19
+ changes: Update compiler options, add 'output' and 'noMetadata' support
17
20
  - version: 8.1.7
18
21
  date: 2026-02-25
19
22
  changes: コンパイラーオプションの更新
@@ -422,7 +425,7 @@ const config: IntlayerConfig = {
422
425
  */
423
426
  compiler: {
424
427
  /**
425
- * Indicates if the compiler should be enabled.
428
+ * コンパイラを有効にするかどうかを示します。
426
429
  */
427
430
  enabled: true,
428
431
 
@@ -440,18 +443,23 @@ const config: IntlayerConfig = {
440
443
  excludePattern: ["**/node_modules/**"],
441
444
 
442
445
  /**
443
- * Output directory for the optimized dictionaries.
446
+ * 最適化された辞書の出力ディレクトリ。
444
447
  */
445
- outputDir: "compiler",
448
+ output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
446
449
 
447
450
  /**
448
- * Dictionary key prefix
451
+ * キーなしで、生成されたファイルにコンテンツのみを挿入します。
452
+ */
453
+ noMetadata: false,
454
+
455
+ /**
456
+ * 辞書キーのプレフィックス
449
457
  */
450
458
  dictionaryKeyPrefix: "", // Remove base prefix
451
459
 
452
460
  /**
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.
461
+ * 変換後にコンポーネントを保存するかどうかを示します。
462
+ * これにより、コンパイラを1回だけ実行してアプリを変換し、その後削除することができます。
455
463
  */
456
464
  saveComponents: false,
457
465
  },
@@ -707,7 +715,7 @@ export default config;
707
715
  #### プロパティ
708
716
 
709
717
  - **autoFill**:
710
- - _型_: `boolean | string | { [key in Locales]?: string }`
718
+ - _型_: `boolean | string | FilePathPattern | { [key in Locales]?: string }`
711
719
  - _デフォルト_: `undefined`
712
720
  - _説明_: コンテンツをAIを使って自動的にどのように埋めるかを示します。`intlayer.config.ts`ファイルでグローバルに宣言することができます。
713
721
  - _例_: true
@@ -850,7 +858,7 @@ export default config;
850
858
  - _デフォルト_: `'[intlayer] '`
851
859
  - _説明_: ロガーのプレフィックス。
852
860
  - _例_: `'[my custom prefix] '`
853
- - _Note_: ロガーのプレフィックス。
861
+ - _注_: ロガーのプレフィックス。
854
862
 
855
863
  ### AI構成
856
864
 
@@ -953,10 +961,10 @@ Intlayerがアプリケーションの国際化をどのように最適化しビ
953
961
  - _注意_: 辞書のビルドを無効にするために使用できます。たとえば、Node.js環境での実行を避ける必要がある場合などです。
954
962
 
955
963
  - **checkTypes**:
956
- - _Type_: `boolean`
957
- - _Default_: `false`
958
- - _Description_: ビルドがTypeScriptの型をチェックし、エラーをログに記録するかどうかを示します。
959
- - _Note_: これにより、ビルドが遅くなる可能性があります。
964
+ - _タイプ_: `boolean`
965
+ - _デフォルト_: `false`
966
+ - _説明_: ビルドがTypeScriptの型をチェックし、エラーをログに記録するかどうかを示します。
967
+ - _注_: これにより、ビルドが遅くなる可能性があります。
960
968
 
961
969
  - **optimize**:
962
970
  - _型_: `boolean`
@@ -969,7 +977,7 @@ Intlayerがアプリケーションの国際化をどのように最適化しビ
969
977
  - _注意_: `useIntlayer`の呼び出し内で、すべてのキーが静的に宣言されていることを確認してください。例: `useIntlayer('navbar')`。
970
978
 
971
979
  - **importMode**:
972
- - _Note_: **Deprecated**: Use `dictionary.importMode` instead.
980
+ - _注_: **Deprecated**: Use `dictionary.importMode` instead.
973
981
  - _タイプ_: `'static' | 'dynamic' | 'fetch'`
974
982
  - _デフォルト_: `'static'`
975
983
  - _説明_: 辞書のインポート方法を制御します。
@@ -1048,3 +1056,31 @@ Intlayerがアプリケーションの国際化をどのように最適化しビ
1048
1056
  - _型_: `string`
1049
1057
  - _デフォルト_: `'compiler'`
1050
1058
  - _説明_: 抽出された辞書が保存されるディレクトリ(プロジェクトのベースパスからの相対パス)。
1059
+
1060
+ - **output**:
1061
+ - _型_: `FilePathPattern`
1062
+ - _デフォルト_: `({ key }) => 'compiler/${key}.content.json'`
1063
+ - _説明_: 出力ファイルのパスを定義します。 `outputDir` を置き換えます。 `{{locale}}`、 `{{key}}`、 `{{fileName}}`、 `{{extension}}`、 `{{format}}`、 `{{dirPath}}`、 `{{componentFileName}}`、 `{{componentExtension}}`、 `{{componentFormat}}` などの動的変数を処理します。 `'my/{{var}}/path'` 形式の文字列または関数として設定できます。
1064
+ - _注_: `./**/*` パスはコンポーネントを基準に解決されます。 `/**/*` パスは Intlayer の `baseDir` を基準に解決されます。
1065
+ - _例_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
1066
+
1067
+ - **noMetadata**:
1068
+ - _タイプ_: `boolean`
1069
+ - _デフォルト_: `false`
1070
+ - _説明_: メタデータをファイルに保存するかどうかを示します。trueの場合、コンパイラは辞書のメタデータ(キー、コンテンツラッパー)を保存しません。
1071
+ - _注_: `loadJSON`プラグインを使用する場合に便利です。
1072
+ - _例_: `true`の場合:
1073
+ ```json
1074
+ {
1075
+ "key": "value"
1076
+ }
1077
+ ```
1078
+ `false`の場合:
1079
+ ```json
1080
+ {
1081
+ "key": "value",
1082
+ "content": {
1083
+ "key": "value"
1084
+ }
1085
+ }
1086
+ ```
@@ -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
  },
@@ -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
+ - _설명_: 변환된 후 구성 요소를 저장할지 여부를 나타냅니다.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2026-02-25
3
+ updatedAt: 2026-03-10
4
4
  title: 구성
5
5
  description: 애플리케이션에 맞게 Intlayer를 구성하는 방법을 배우세요. Intlayer를 사용자 요구에 맞게 맞춤 설정할 수 있는 다양한 설정과 옵션을 이해하세요.
6
6
  keywords:
@@ -14,6 +14,9 @@ slugs:
14
14
  - concept
15
15
  - configuration
16
16
  history:
17
+ - version: 8.2.0
18
+ date: 2026-03-10
19
+ changes: Update compiler options, add 'output' and 'noMetadata' support
17
20
  - version: 8.1.7
18
21
  date: 2026-02-25
19
22
  changes: 컴파일러 옵션 업데이트
@@ -422,7 +425,7 @@ const config: IntlayerConfig = {
422
425
  */
423
426
  compiler: {
424
427
  /**
425
- * Indicates if the compiler should be enabled.
428
+ * 컴파일러 활성화 여부를 나타냅니다.
426
429
  */
427
430
  enabled: true,
428
431
 
@@ -440,18 +443,23 @@ const config: IntlayerConfig = {
440
443
  excludePattern: ["**/node_modules/**"],
441
444
 
442
445
  /**
443
- * Output directory for the optimized dictionaries.
446
+ * 최적화된 사전의 출력 디렉터리.
444
447
  */
445
- outputDir: "compiler",
448
+ output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
446
449
 
447
450
  /**
448
- * Dictionary key prefix
451
+ * 없이 생성된 파일에 콘텐츠만 삽입합니다.
452
+ */
453
+ noMetadata: false,
454
+
455
+ /**
456
+ * 사전 키 접두사
449
457
  */
450
458
  dictionaryKeyPrefix: "", // Remove base prefix
451
459
 
452
460
  /**
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.
461
+ * 변환된 구성 요소를 저장할지 여부를 나타냅니다.
462
+ * 이렇게 하면 컴파일러를 번만 실행하여 앱을 변환한 다음 제거할 있습니다.
455
463
  */
456
464
  saveComponents: false,
457
465
  },
@@ -707,7 +715,7 @@ export default config;
707
715
  #### 속성
708
716
 
709
717
  - **autoFill**:
710
- - _유형_: `boolean | string | { [key in Locales]?: string }`
718
+ - _유형_: `boolean | string | FilePathPattern | { [key in Locales]?: string }`
711
719
  - _기본값_: `undefined`
712
720
  - _설명_: AI를 사용하여 콘텐츠를 자동으로 채우는 방식을 지정합니다. `intlayer.config.ts` 파일에서 전역으로 선언할 수 있습니다.
713
721
  - _예시_: true
@@ -850,7 +858,7 @@ export default config;
850
858
  - _기본값_: `'[intlayer] '`
851
859
  - _설명_: 로거의 접두사입니다.
852
860
  - _예시_: `'[my custom prefix] '`
853
- - _Note_: 로거의 접두사입니다.
861
+ - _참고_: 로거의 접두사입니다.
854
862
 
855
863
  ### AI 구성
856
864
 
@@ -953,10 +961,10 @@ Intlayer가 애플리케이션의 국제화를 최적화하고 빌드하는 방
953
961
  - _참고_: 사전 빌드를 비활성화하는 데 사용할 수 있습니다. 예를 들어 Node.js 환경에서 실행을 피해야 하는 경우입니다.
954
962
 
955
963
  - **checkTypes**:
956
- - _Type_: `boolean`
957
- - _Default_: `false`
958
- - _Description_: 빌드가 TypeScript 유형을 확인하고 오류를 기록해야 하는지 여부를 나타냅니다.
959
- - _Note_: 이로 인해 빌드 속도가 느려질 수 있습니다.
964
+ - _형식_: `boolean`
965
+ - _기본값_: `false`
966
+ - _설명_: 빌드가 TypeScript 유형을 확인하고 오류를 기록해야 하는지 여부를 나타냅니다.
967
+ - _참고_: 이로 인해 빌드 속도가 느려질 수 있습니다.
960
968
 
961
969
  - **optimize**:
962
970
  - _타입_: `boolean`
@@ -969,7 +977,7 @@ Intlayer가 애플리케이션의 국제화를 최적화하고 빌드하는 방
969
977
  - _참고_: `useIntlayer` 호출에서 모든 키가 정적으로 선언되어 있는지 확인하세요. 예: `useIntlayer('navbar')`.
970
978
 
971
979
  - **importMode**:
972
- - _Note_: **Deprecated**: Use `dictionary.importMode` instead.
980
+ - _참고_: **Deprecated**: Use `dictionary.importMode` instead.
973
981
  - _유형_: `'static' | 'dynamic' | 'fetch'`
974
982
  - _기본값_: `'static'`
975
983
  - _설명_: 사전을 어떻게 가져올지 제어합니다.
@@ -1048,3 +1056,31 @@ Intlayer가 애플리케이션의 국제화를 최적화하고 빌드하는 방
1048
1056
  - _타입_: `string`
1049
1057
  - _기본값_: `'compiler'`
1050
1058
  - _설명_: 추출된 사전이 저장될 디렉토리로, 프로젝트 베이스 경로에 대한 상대 경로입니다.
1059
+
1060
+ - **output**:
1061
+ - _형식_: `FilePathPattern`
1062
+ - _기본값_: `({ key }) => 'compiler/${key}.content.json'`
1063
+ - _설명_: 출력 파일 경로를 정의합니다. `outputDir`을 대체합니다. `{{locale}}`, `{{key}}`, `{{fileName}}`, `{{extension}}`, `{{format}}`, `{{dirPath}}`, `{{componentFileName}}`, `{{componentExtension}}`, `{{componentFormat}}`와 같은 동적 변수를 처리합니다. `'my/{{var}}/path'` 형식을 사용하여 문자열로 설정하거나 함수로 설정할 수 있습니다.
1064
+ - _참고_: `./**/*` 경로는 구성 요소를 기준으로 해결됩니다. `/**/*` 경로는 Intlayer `baseDir`을 기준으로 해결됩니다.
1065
+ - _예시_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
1066
+
1067
+ - **noMetadata**:
1068
+ - _형식_: `boolean`
1069
+ - _기본값_: `false`
1070
+ - _설명_: 메타데이터를 파일에 저장할지 여부를 나타냅니다. true인 경우 컴파일러는 사전의 메타데이터(키, 콘텐츠 래퍼)를 저장하지 않습니다.
1071
+ - _참고_: `loadJSON` 플러그인과 함께 사용할 때 유용합니다.
1072
+ - _예시_: `true`인 경우:
1073
+ ```json
1074
+ {
1075
+ "key": "value"
1076
+ }
1077
+ ```
1078
+ `false`인 경우:
1079
+ ```json
1080
+ {
1081
+ "key": "value",
1082
+ "content": {
1083
+ "key": "value"
1084
+ }
1085
+ }
1086
+ ```
@@ -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: 최초 릴리스
@@ -127,9 +130,25 @@ const config: IntlayerConfig = {
127
130
  mode: "search-params",
128
131
  },
129
132
  compiler: {
130
- enabled: true, // dev 모드 영향을 줄이려면 'build-only'로 설정 가능
131
- outputDir: "i18n",
132
- dictionaryKeyPrefix: "", // 컴파일 접두사 없음, 기본값은 "comp-"
133
+ /**
134
+ * 개발 중에 컴파일러를 건너뛰고 시작 시간을 단축하려면 'build-only'로 설정하십시오.
135
+ */
136
+ enabled: true,
137
+
138
+ /**
139
+ * 최적화된 사전의 출력 디렉터리.
140
+ */
141
+ output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
142
+
143
+ /**
144
+ * 키 없이 생성된 파일에 콘텐츠만 삽입합니다.
145
+ */
146
+ noMetadata: false,
147
+
148
+ /**
149
+ * 사전 키 접두사
150
+ */
151
+ dictionaryKeyPrefix: "", // Remove base prefix
133
152
  },
134
153
  ai: {
135
154
  provider: "openai",
@@ -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: 초기 릴리스
@@ -124,9 +127,25 @@ const config: IntlayerConfig = {
124
127
  defaultLocale: Locales.ENGLISH,
125
128
  },
126
129
  compiler: {
127
- enabled: true, // 개발 모드에서의 영향을 제한하기 위해 'build-only'로 설정 가능
128
- outputDir: "i18n",
129
- dictionaryKeyPrefix: "", // 접두사 comp- 없음
130
+ /**
131
+ * 개발 중에 컴파일러를 건너뛰고 시작 시간을 단축하려면 'build-only'로 설정하십시오.
132
+ */
133
+ enabled: true,
134
+
135
+ /**
136
+ * 최적화된 사전의 출력 디렉터리.
137
+ */
138
+ output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
139
+
140
+ /**
141
+ * 키 없이 생성된 파일에 콘텐츠만 삽입합니다.
142
+ */
143
+ noMetadata: false,
144
+
145
+ /**
146
+ * 사전 키 접두사
147
+ */
148
+ dictionaryKeyPrefix: "", // Remove base prefix
130
149
  },
131
150
  ai: {
132
151
  provider: "openai",