@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
@@ -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
+ * 이렇게 하면 컴파일러를 번만 실행하여 앱을 변환한 다음 제거할 있습니다.
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: 최초 릴리스
@@ -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",
@@ -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: 초기 릴리스
@@ -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",
@@ -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 Compiler | Zautomatyzowane wydobywanie treści dla i18n
5
5
  description: Zautomatyzuj proces internacjonalizacji za pomocą Intlayer Compiler. Wydobywaj treści bezpośrednio z komponentów dla szybszego i bardziej efektywnego i18n w Vite, Next.js i innych.
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-09
25
+ changes: Update compiler options, add FilePathPattern support
23
26
  - version: 8.1.7
24
27
  date: 2026-02-25
25
28
  changes: Aktualizacja opcji kompilatora
@@ -157,13 +160,12 @@ import { type IntlayerConfig, Locales } from "intlayer";
157
160
  const config: IntlayerConfig = {
158
161
  compiler: {
159
162
  /**
160
- * Wskazuje, czy kompilator powinien być włączony.
161
163
  * Ustaw na 'build-only', aby pominąć kompilator podczas programowania i przyspieszyć czas uruchamiania.
162
164
  */
163
165
  enabled: true,
164
166
 
165
167
  /**
166
- * Wzór do przeszukiwania kodu w celu optymalizacji.
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
- * Wzór do wykluczenia z optymalizacji.
176
+ * Pattern to exclude from the optimization.
175
177
  */
176
178
  excludePattern: ["**/node_modules/**"],
177
179
 
178
180
  /**
179
181
  * Katalog wyjściowy dla zoptymalizowanych słowników.
180
182
  */
181
- outputDir: "i18n",
183
+ output: ({ key }) => `compiler/${key}.content.json`,
184
+
185
+ /**
186
+ * Wstaw tylko zawartość do wygenerowanego pliku, bez klucza.
187
+ */
188
+ noMetadata: false,
182
189
 
183
190
  /**
184
191
  * Prefiks klucza słownika
185
192
  */
186
- dictionaryKeyPrefix: "", // Usuń podstawowy prefiks
193
+ dictionaryKeyPrefix: "", // Remove base prefix
187
194
 
188
195
  /**
189
- * Wskazuje, czy komponenty powinny zostać zapisane po przekształceniu.
190
- * W ten sposób kompilator może zostać uruchomiony tylko raz w celu przekształcenia aplikacji, a następnie można go usunąć.
196
+ * Wskazuje, czy komponenty powinny być zapisywane po transformacji.
197
+ * W ten sposób kompilator można uruchomić tylko raz, aby przetransformować aplikację, a następnie go usunąć.
191
198
  */
192
199
  saveComponents: false,
193
200
  },
@@ -209,3 +216,61 @@ npx intlayer fill # Uzupełnij brakujące tłumaczenia
209
216
  ```
210
217
 
211
218
  > Więcej szczegółów znajdziesz w [dokumentacji CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/cli/ci.md)
219
+
220
+ ### Odniesienie do konfiguracji kompilatora
221
+
222
+ Następujące właściwości można skonfigurować w bloku `compiler` pliku `intlayer.config.ts`:
223
+
224
+ - **enabled**:
225
+ - _Typ_: `boolean | 'build-only'`
226
+ - _Domyślny_: `true`
227
+ - _Opis_: Wskazuje, czy kompilator powinien być włączony.
228
+ - **dictionaryKeyPrefix**:
229
+ - _Typ_: `string`
230
+ - _Domyślny_: `'comp-'`
231
+ - _Opis_: Prefiks dla wyekstrahowanych kluczy słownika.
232
+ - **transformPattern**:
233
+ - _Typ_: `string | string[]`
234
+ - _Domyślny_: `['**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}', '!**/node_modules/**']`
235
+ - _Opis_: Wzorce do przeszukiwania kodu w celu optymalizacji.
236
+ - **excludePattern**:
237
+ - _Typ_: `string | string[]`
238
+ - _Domyślny_: `['**/node_modules/**']`
239
+ - _Opis_: Wzorce do wykluczenia z optymalizacji.
240
+ - **outputDir** (Deprecated):
241
+ - _Typ_: `string`
242
+ - _Domyślny_: `'compiler'`
243
+ - _Opis_: Katalog, w którym będą przechowywane wyekstrahowane słowniki.
244
+
245
+ - **output**:
246
+ - _Typ_: `FilePathPattern`
247
+ - _Domyślny_: `({ key }) => 'compiler/${key}.content.json'`
248
+ - _Opis_: Definiuje ścieżkę plików wyjściowych. Zastępuje `outputDir`. Obsługuje zmienne dynamiczne, takie jak `{{locale}}`, `{{key}}`, `{{fileName}}`, `{{extension}}`, `{{format}}`, `{{dirPath}}`, `{{componentFileName}}`, `{{componentExtension}}`, `{{componentFormat}}`. Można ustawić jako ciąg znaków w formacie `'my/{{var}}/path'` lub jako funkcję.
249
+ - _Uwaga_: Ścieżki `./**/*` są rozwiązywane względem komponentu. Ścieżki `/**/*` są rozwiązywane względem `baseDir` Intlayer.
250
+ - _Przykład_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
251
+
252
+ - **noMetadata**:
253
+ - _Typ_: `boolean`
254
+ - _Domyślny_: `false`
255
+ - _Opis_: Wskazuje, czy metadane powinny być zapisywane w pliku. Jeśli true, kompilator nie będzie zapisywał metadanych słowników (klucza, otoczki zawartości).
256
+ - _Uwaga_: Przydatne w przypadku korzystania z wtyczki `loadJSON`.
257
+ - _Przykład_: Jeśli `true`:
258
+ ```json
259
+ {
260
+ "key": "value"
261
+ }
262
+ ```
263
+ Jeśli `false`:
264
+ ```json
265
+ {
266
+ "key": "value",
267
+ "content": {
268
+ "key": "value"
269
+ }
270
+ }
271
+ ```
272
+
273
+ - **saveComponents**:
274
+ - _Typ_: `boolean`
275
+ - _Domyślny_: `false`
276
+ - _Opis_: Wskazuje, czy komponenty powinny być zapisywane po transformacji.
@@ -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: Konfiguracja
5
5
  description: Dowiedz się, jak skonfigurować Intlayer dla swojej aplikacji. Zrozum różne ustawienia i opcje dostępne do dostosowania Intlayer do Twoich potrzeb.
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: Przenieś 'baseDir' z konfiguracji 'content' do konfiguracji 'system'
20
+ - version: 8.2.0
21
+ date: 2026-03-09
22
+ changes: Zaktualizuj opcje kompilatora, dodaj obsługę 'output' i 'noMetadata'
17
23
  - version: 8.1.7
18
24
  date: 2026-02-25
19
25
  changes: Aktualizacja opcji kompilatora
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: Dodaj obsługę dostawców Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face i Together.ai
23
29
  - version: 8.0.5
24
30
  date: 2026-02-06
25
31
  changes: Dodano `dataSerialization` do konfiguracji AI
26
32
  - version: 8.0.0
27
33
  date: 2026-01-22
28
- changes: Move `importMode` build configuration to `dictionary` configuration.
34
+ changes: Przenieś konfigurację budowania importMode do konfiguracji słownika.
29
35
  - version: 8.0.0
30
36
  date: 2026-01-18
31
37
  changes: Oddziel konfigurację systemu od konfiguracji treści. Przenieś wewnętrzne ścieżki do właściwości `system`. Dodaj `codeDir`, aby oddzielić pliki treści od transformacji kodu.
@@ -434,7 +440,7 @@ const config: IntlayerConfig = {
434
440
  */
435
441
  compiler: {
436
442
  /**
437
- * Indicates if the compiler should be enabled.
443
+ * Wskazuje, czy kompilator powinien być włączony.
438
444
  */
439
445
  enabled: true,
440
446
 
@@ -452,18 +458,23 @@ const config: IntlayerConfig = {
452
458
  excludePattern: ["**/node_modules/**"],
453
459
 
454
460
  /**
455
- * Output directory for the optimized dictionaries.
461
+ * Katalog wyjściowy dla zoptymalizowanych słowników.
456
462
  */
457
- outputDir: "compiler",
463
+ output: ({ key }) => `compiler/${key}.content.json`,
458
464
 
459
465
  /**
460
- * Dictionary key prefix
466
+ * Wstaw tylko zawartość do wygenerowanego pliku, bez klucza.
467
+ */
468
+ noMetadata: false,
469
+
470
+ /**
471
+ * Prefiks klucza słownika
461
472
  */
462
473
  dictionaryKeyPrefix: "", // Remove base prefix
463
474
 
464
475
  /**
465
- * Indicates if the components should be saved after being transformed.
466
- * That way, the compiler can be run only once to transform the app, and then it can be removed.
476
+ * Wskazuje, czy komponenty powinny być zapisywane po transformacji.
477
+ * W ten sposób kompilator można uruchomić tylko raz, aby przetransformować aplikację, a następnie go usunąć.
467
478
  */
468
479
  saveComponents: false,
469
480
  },
@@ -839,13 +850,6 @@ Ustawienia związane z obsługą treści w aplikacji, w tym nazwy katalogów, ro
839
850
  - _Przykład_: `['.data.ts', '.data.js', '.data.json']`
840
851
  - _Uwaga_: Dostosowanie rozszerzeń plików może pomóc uniknąć konfliktów.
841
852
 
842
- - **baseDir**:
843
- - _Typ_: `string`
844
- - _Domyślnie_: `process.cwd()`
845
- - _Opis_: Katalog bazowy projektu.
846
- - _Przykład_: `'/path/to/project'`
847
- - _Uwaga_: Jest używany do rozwiązywania wszystkich katalogów związanych z Intlayer.
848
-
849
853
  - **contentDir**:
850
854
  - _Typ_: `string[]`
851
855
  - _Domyślnie_: `['.']`
@@ -860,10 +864,26 @@ Ustawienia związane z obsługą treści w aplikacji, w tym nazwy katalogów, ro
860
864
  - _Opis_: Ścieżka katalogu, w którym przechowywany jest kod, względem katalogu bazowego.
861
865
  - _Uwaga_: Jest używany do monitorowania plików kodu w celu transformacji (przycinanie, optymalizacja). Utrzymanie tego oddzielnie od `contentDir` może poprawić wydajność kompilacji, unikając niepotrzebnego skanowania plików treści.
862
866
 
867
+ ---
868
+
869
+ ### Konfiguracja systemu
870
+
871
+ Ustawienia związane z wewnętrznymi ścieżkami oraz wynikami wyjściowymi Intlayer. Te ustawienia są zazwyczaj wewnętrzne i nie powinny być modyfikowane przez użytkownika.
872
+
873
+ #### Właściwości
874
+
875
+ - **baseDir**:
876
+ - _Typ_: `string`
877
+ - _Domyślnie_: `process.cwd()`
878
+ - _Opis_: Katalog bazowy projektu.
879
+ - _Przykład_: `'/path/to/project'`
880
+ - _Uwaga_: Jest używany do rozwiązywania wszystkich katalogów związanych z Intlayer.
881
+
863
882
  - **dictionariesDir**:
864
883
  - _Typ_: `string`
865
- - _Domyślnie_: `'.intlayer/dictionaries'`
866
- - _Opis_: Ścieżka katalogu do przechowywania wyników pośrednich lub wyjściowych.
884
+ - _Domyślnie_: `'.intlayer/dictionary'`
885
+ - _Opis_: Ścieżka katalogu do przechowywania słowników lokalizacyjnych.
886
+ - _Przykład_: `'translations'`
867
887
 
868
888
  - **moduleAugmentationDir**:
869
889
  - _Typ_: `string`
@@ -878,12 +898,6 @@ Ustawienia związane z obsługą treści w aplikacji, w tym nazwy katalogów, ro
878
898
  - _Opis_: Katalog do przechowywania niepołączonych słowników.
879
899
  - _Przykład_: `'translations'`
880
900
 
881
- - **dictionariesDir**:
882
- - _Typ_: `string`
883
- - _Domyślnie_: `'.intlayer/dictionary'`
884
- - _Opis_: Katalog do przechowywania słowników lokalizacyjnych.
885
- - _Przykład_: `'translations'`
886
-
887
901
  - **typesDir**:
888
902
  - _Typ_: `string`
889
903
  - _Domyślnie_: `'types'`
@@ -1070,7 +1084,7 @@ Opcje budowania dotyczą wtyczek `@intlayer/babel` oraz `@intlayer/swc`.
1070
1084
  - _Uwaga_: Upewnij się, że wszystkie klucze są deklarowane statycznie w wywołaniach `useIntlayer`, np. `useIntlayer('navbar')`.
1071
1085
 
1072
1086
  - **importMode**:
1073
- - _Note_: **Deprecated**: Use `dictionary.importMode` instead.
1087
+ - _Uwaga_: **Deprecated**: Use `dictionary.importMode` instead.
1074
1088
  - _Typ_: `'static' | 'dynamic' | 'fetch'`
1075
1089
  - _Domyślnie_: `'static'`
1076
1090
  - _Opis_: Kontroluje sposób importowania słowników.
@@ -1088,10 +1102,10 @@ Opcje budowania dotyczą wtyczek `@intlayer/babel` oraz `@intlayer/swc`.
1088
1102
  - _Uwaga_: Tryb live będzie korzystał z API synchronizacji na żywo do pobierania słowników. Jeśli wywołanie API się nie powiedzie, słowniki zostaną zaimportowane dynamicznie w trybie "dynamic".
1089
1103
  - _Uwaga_: Ta opcja nie wpłynie na funkcje `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` oraz `useDictionaryDynamic`.
1090
1104
  - **checkTypes**:
1091
- - _Type_: `boolean`
1092
- - _Default_: `false`
1093
- - _Description_: Wskazuje, czy kompilacja powinna sprawdzać typy TypeScript i rejestrować błędy.
1094
- - _Note_: Może to spowolnić proces kompilacji.
1105
+ - _Typ_: `boolean`
1106
+ - _Domyślny_: `false`
1107
+ - _Opis_: Wskazuje, czy kompilacja powinna sprawdzać typy TypeScript i rejestrować błędy.
1108
+ - _Uwaga_: Może to spowolnić proces kompilacji.
1095
1109
 
1096
1110
  - **outputFormat**:
1097
1111
  - _Typ_: `'esm' | 'cjs'`
@@ -1154,3 +1168,31 @@ Ustawienia kontrolujące kompilator Intlayer, który wyodrębnia słowniki bezpo
1154
1168
  - _Typ_: `string`
1155
1169
  - _Domyślnie_: `'compiler'`
1156
1170
  - _Opis_: Katalog, w którym będą przechowywane wyodrębnione słowniki, względem ścieżki bazowej projektu.
1171
+
1172
+ - **output**:
1173
+ - _Typ_: `FilePathPattern`
1174
+ - _Domyślny_: `({ key }) => 'compiler/${key}.content.json'`
1175
+ - _Opis_: Definiuje ścieżkę plików wyjściowych. Zastępuje `outputDir`. Obsługuje zmienne dynamiczne, takie jak `{{locale}}`, `{{key}}`, `{{fileName}}`, `{{extension}}`, `{{format}}`, `{{dirPath}}`, `{{componentFileName}}`, `{{componentExtension}}`, `{{componentFormat}}`. Można ustawić jako ciąg znaków w formacie `'my/{{var}}/path'` lub jako funkcję.
1176
+ - _Uwaga_: Ścieżki `./**/*` są rozwiązywane względem komponentu. Ścieżki `/**/*` są rozwiązywane względem `baseDir` Intlayer.
1177
+ - _Przykład_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
1178
+
1179
+ - **noMetadata**:
1180
+ - _Typ_: `boolean`
1181
+ - _Domyślny_: `false`
1182
+ - _Opis_: Wskazuje, czy metadane powinny być zapisywane w pliku. Jeśli true, kompilator nie będzie zapisywał metadanych słowników (klucza, otoczki zawartości).
1183
+ - _Uwaga_: Przydatne w przypadku korzystania z wtyczki `loadJSON`.
1184
+ - _Przykład_: Jeśli `true`:
1185
+ ```json
1186
+ {
1187
+ "key": "value"
1188
+ }
1189
+ ```
1190
+ Jeśli `false`:
1191
+ ```json
1192
+ {
1193
+ "key": "value",
1194
+ "content": {
1195
+ "key": "value"
1196
+ }
1197
+ }
1198
+ ```
@@ -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: Pierwsze wydanie
@@ -128,23 +131,28 @@ const config: IntlayerConfig = {
128
131
  },
129
132
  compiler: {
130
133
  /**
131
- * Określa, czy kompilator powinien być włączony.
134
+ * Wskazuje, czy kompilator powinien być włączony.
132
135
  */
133
136
  enabled: true,
134
137
 
135
138
  /**
136
139
  * Katalog wyjściowy dla zoptymalizowanych słowników.
137
140
  */
138
- outputDir: "compiler",
141
+ output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
142
+
143
+ /**
144
+ * Wstaw tylko zawartość do wygenerowanego pliku, bez klucza.
145
+ */
146
+ noMetadata: false,
139
147
 
140
148
  /**
141
149
  * Prefiks klucza słownika
142
150
  */
143
- dictionaryKeyPrefix: "", // Usuń prefiks bazowy
151
+ dictionaryKeyPrefix: "", // Remove base prefix
144
152
 
145
153
  /**
146
- * Określa, czy komponenty powinny zostać zapisane po transformacji.
147
- * W ten sposób kompilator można uruchomić tylko raz, aby przekształcić aplikację, a następnie można go usunąć.
154
+ * Wskazuje, czy komponenty powinny być zapisywane po transformacji.
155
+ * W ten sposób kompilator można uruchomić tylko raz, aby przetransformować aplikację, a następnie go usunąć.
148
156
  */
149
157
  saveComponents: false,
150
158
  },