@intlayer/docs 8.1.1 → 8.1.5

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 (251) hide show
  1. package/blog/ar/vue-i18n_vs_intlayer.md +1 -1
  2. package/blog/de/per-component_vs_centralized_i18n.md +1 -1
  3. package/blog/de/vue-i18n_vs_intlayer.md +1 -1
  4. package/blog/en/__per-component_vs_centralized_i18n.md +1 -1
  5. package/blog/en/per-component_vs_centralized_i18n.md +1 -1
  6. package/blog/en/vue-i18n_vs_intlayer.md +1 -1
  7. package/blog/en-GB/per-component_vs_centralized_i18n.md +1 -1
  8. package/blog/en-GB/vue-i18n_vs_intlayer.md +1 -1
  9. package/blog/es/per-component_vs_centralized_i18n.md +1 -1
  10. package/blog/es/vue-i18n_vs_intlayer.md +1 -1
  11. package/blog/fr/per-component_vs_centralized_i18n.md +1 -1
  12. package/blog/fr/vue-i18n_vs_intlayer.md +1 -1
  13. package/blog/hi/vue-i18n_vs_intlayer.md +1 -1
  14. package/blog/id/vue-i18n_vs_intlayer.md +1 -1
  15. package/blog/it/vue-i18n_vs_intlayer.md +1 -1
  16. package/blog/ja/vue-i18n_vs_intlayer.md +1 -1
  17. package/blog/ko/vue-i18n_vs_intlayer.md +1 -1
  18. package/blog/pl/vue-i18n_vs_intlayer.md +1 -1
  19. package/blog/pt/per-component_vs_centralized_i18n.md +1 -1
  20. package/blog/pt/vue-i18n_vs_intlayer.md +1 -1
  21. package/blog/ru/vue-i18n_vs_intlayer.md +1 -1
  22. package/blog/tr/vue-i18n_vs_intlayer.md +1 -1
  23. package/blog/uk/vue-i18n_vs_intlayer.md +1 -1
  24. package/blog/vi/vue-i18n_vs_intlayer.md +1 -1
  25. package/blog/zh/vue-i18n_vs_intlayer.md +1 -1
  26. package/dist/cjs/blog.cjs +1 -21
  27. package/dist/cjs/blog.cjs.map +1 -1
  28. package/dist/cjs/common.cjs +1 -77
  29. package/dist/cjs/common.cjs.map +1 -1
  30. package/dist/cjs/doc.cjs +1 -21
  31. package/dist/cjs/doc.cjs.map +1 -1
  32. package/dist/cjs/frequentQuestions.cjs +1 -21
  33. package/dist/cjs/frequentQuestions.cjs.map +1 -1
  34. package/dist/cjs/generated/blog.entry.cjs +1 -551
  35. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  36. package/dist/cjs/generated/docs.entry.cjs +1 -3071
  37. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  38. package/dist/cjs/generated/frequentQuestions.entry.cjs +1 -351
  39. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  40. package/dist/cjs/generated/legal.entry.cjs +1 -71
  41. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  42. package/dist/cjs/index.cjs +1 -34
  43. package/dist/cjs/legal.cjs +1 -21
  44. package/dist/cjs/legal.cjs.map +1 -1
  45. package/dist/esm/blog.mjs +1 -14
  46. package/dist/esm/blog.mjs.map +1 -1
  47. package/dist/esm/common.mjs +1 -66
  48. package/dist/esm/common.mjs.map +1 -1
  49. package/dist/esm/doc.mjs +1 -14
  50. package/dist/esm/doc.mjs.map +1 -1
  51. package/dist/esm/frequentQuestions.mjs +1 -14
  52. package/dist/esm/frequentQuestions.mjs.map +1 -1
  53. package/dist/esm/generated/blog.entry.mjs +1 -550
  54. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  55. package/dist/esm/generated/docs.entry.mjs +1 -3070
  56. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  57. package/dist/esm/generated/frequentQuestions.entry.mjs +1 -350
  58. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  59. package/dist/esm/generated/legal.entry.mjs +1 -70
  60. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  61. package/dist/esm/index.mjs +1 -6
  62. package/dist/esm/legal.mjs +1 -14
  63. package/dist/esm/legal.mjs.map +1 -1
  64. package/dist/types/common.d.ts.map +1 -1
  65. package/dist/types/generated/docs.entry.d.ts +0 -5
  66. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  67. package/docs/ar/agent_skills.md +7 -1
  68. package/docs/ar/cli/build.md +8 -0
  69. package/docs/ar/cli/index.md +1 -1
  70. package/docs/ar/compiler.md +1 -1
  71. package/docs/ar/configuration.md +34 -17
  72. package/docs/de/agent_skills.md +7 -1
  73. package/docs/de/cli/build.md +8 -0
  74. package/docs/de/cli/index.md +1 -1
  75. package/docs/de/compiler.md +1 -1
  76. package/docs/de/configuration.md +34 -17
  77. package/docs/en/agent_skills.md +7 -1
  78. package/docs/en/cli/build.md +8 -0
  79. package/docs/en/compiler.md +1 -1
  80. package/docs/en/configuration.md +79 -11
  81. package/docs/en-GB/agent_skills.md +7 -1
  82. package/docs/en-GB/cli/build.md +8 -0
  83. package/docs/en-GB/cli/index.md +1 -1
  84. package/docs/en-GB/compiler.md +1 -1
  85. package/docs/en-GB/configuration.md +34 -17
  86. package/docs/es/agent_skills.md +7 -1
  87. package/docs/es/cli/build.md +8 -0
  88. package/docs/es/cli/index.md +1 -1
  89. package/docs/es/compiler.md +1 -1
  90. package/docs/es/configuration.md +34 -17
  91. package/docs/fr/agent_skills.md +7 -1
  92. package/docs/fr/cli/build.md +8 -0
  93. package/docs/fr/cli/index.md +1 -1
  94. package/docs/fr/compiler.md +1 -1
  95. package/docs/fr/configuration.md +34 -17
  96. package/docs/hi/agent_skills.md +7 -1
  97. package/docs/hi/cli/build.md +8 -0
  98. package/docs/hi/cli/index.md +1 -1
  99. package/docs/hi/compiler.md +1 -1
  100. package/docs/hi/configuration.md +34 -17
  101. package/docs/id/agent_skills.md +7 -1
  102. package/docs/id/cli/build.md +8 -0
  103. package/docs/id/cli/index.md +1 -1
  104. package/docs/id/compiler.md +1 -1
  105. package/docs/id/configuration.md +34 -17
  106. package/docs/it/agent_skills.md +7 -1
  107. package/docs/it/cli/build.md +8 -0
  108. package/docs/it/cli/index.md +1 -1
  109. package/docs/it/compiler.md +1 -1
  110. package/docs/it/configuration.md +34 -17
  111. package/docs/ja/agent_skills.md +7 -1
  112. package/docs/ja/cli/build.md +8 -0
  113. package/docs/ja/cli/index.md +1 -1
  114. package/docs/ja/compiler.md +1 -1
  115. package/docs/ja/configuration.md +34 -17
  116. package/docs/ko/agent_skills.md +7 -1
  117. package/docs/ko/cli/build.md +8 -0
  118. package/docs/ko/cli/index.md +1 -1
  119. package/docs/ko/compiler.md +1 -1
  120. package/docs/ko/configuration.md +34 -17
  121. package/docs/pl/agent_skills.md +7 -1
  122. package/docs/pl/cli/build.md +8 -0
  123. package/docs/pl/cli/index.md +1 -1
  124. package/docs/pl/compiler.md +1 -1
  125. package/docs/pl/configuration.md +34 -17
  126. package/docs/pt/agent_skills.md +7 -1
  127. package/docs/pt/cli/build.md +8 -0
  128. package/docs/pt/cli/index.md +1 -1
  129. package/docs/pt/compiler.md +1 -1
  130. package/docs/pt/configuration.md +34 -17
  131. package/docs/ru/agent_skills.md +7 -1
  132. package/docs/ru/cli/build.md +8 -0
  133. package/docs/ru/cli/index.md +1 -1
  134. package/docs/ru/compiler.md +1 -1
  135. package/docs/ru/configuration.md +34 -17
  136. package/docs/tr/agent_skills.md +7 -1
  137. package/docs/tr/cli/build.md +8 -0
  138. package/docs/tr/cli/index.md +1 -1
  139. package/docs/tr/compiler.md +1 -1
  140. package/docs/tr/configuration.md +34 -17
  141. package/docs/uk/agent_skills.md +7 -1
  142. package/docs/uk/cli/build.md +8 -0
  143. package/docs/uk/cli/index.md +1 -1
  144. package/docs/uk/compiler.md +1 -1
  145. package/docs/uk/configuration.md +52 -6
  146. package/docs/vi/agent_skills.md +7 -1
  147. package/docs/vi/cli/build.md +8 -0
  148. package/docs/vi/cli/index.md +1 -1
  149. package/docs/vi/compiler.md +1 -1
  150. package/docs/vi/configuration.md +34 -17
  151. package/docs/zh/agent_skills.md +7 -1
  152. package/docs/zh/cli/build.md +8 -0
  153. package/docs/zh/cli/index.md +1 -1
  154. package/docs/zh/compiler.md +1 -1
  155. package/docs/zh/configuration.md +34 -17
  156. package/package.json +11 -12
  157. package/src/common.ts +2 -1
  158. package/src/generated/blog.entry.ts +1 -1
  159. package/src/generated/docs.entry.ts +1 -101
  160. package/src/generated/frequentQuestions.entry.ts +1 -1
  161. package/src/generated/legal.entry.ts +1 -1
  162. package/docs/ar/packages/angular-intlayer.md +0 -50
  163. package/docs/ar/packages/astro-intlayer.md +0 -40
  164. package/docs/ar/packages/intlayer-cli.md +0 -46
  165. package/docs/ar/packages/next-intlayer.md +0 -70
  166. package/docs/ar/packages/vue-intlayer.md +0 -59
  167. package/docs/de/packages/angular-intlayer.md +0 -50
  168. package/docs/de/packages/astro-intlayer.md +0 -37
  169. package/docs/de/packages/intlayer-cli.md +0 -46
  170. package/docs/de/packages/next-intlayer.md +0 -70
  171. package/docs/de/packages/vue-intlayer.md +0 -59
  172. package/docs/en/packages/angular-intlayer.md +0 -50
  173. package/docs/en/packages/astro-intlayer.md +0 -37
  174. package/docs/en/packages/intlayer-cli.md +0 -46
  175. package/docs/en/packages/next-intlayer.md +0 -70
  176. package/docs/en/packages/vue-intlayer.md +0 -59
  177. package/docs/en-GB/packages/angular-intlayer.md +0 -50
  178. package/docs/en-GB/packages/astro-intlayer.md +0 -37
  179. package/docs/en-GB/packages/intlayer-cli.md +0 -46
  180. package/docs/en-GB/packages/next-intlayer.md +0 -70
  181. package/docs/en-GB/packages/vue-intlayer.md +0 -59
  182. package/docs/es/packages/angular-intlayer.md +0 -50
  183. package/docs/es/packages/astro-intlayer.md +0 -37
  184. package/docs/es/packages/intlayer-cli.md +0 -46
  185. package/docs/es/packages/next-intlayer.md +0 -70
  186. package/docs/es/packages/vue-intlayer.md +0 -59
  187. package/docs/fr/packages/angular-intlayer.md +0 -50
  188. package/docs/fr/packages/astro-intlayer.md +0 -37
  189. package/docs/fr/packages/intlayer-cli.md +0 -46
  190. package/docs/fr/packages/next-intlayer.md +0 -70
  191. package/docs/fr/packages/vue-intlayer.md +0 -59
  192. package/docs/hi/packages/angular-intlayer.md +0 -50
  193. package/docs/hi/packages/astro-intlayer.md +0 -37
  194. package/docs/hi/packages/intlayer-cli.md +0 -46
  195. package/docs/hi/packages/next-intlayer.md +0 -70
  196. package/docs/hi/packages/vue-intlayer.md +0 -60
  197. package/docs/id/packages/angular-intlayer.md +0 -50
  198. package/docs/id/packages/astro-intlayer.md +0 -37
  199. package/docs/id/packages/intlayer-cli.md +0 -46
  200. package/docs/id/packages/next-intlayer.md +0 -70
  201. package/docs/id/packages/vue-intlayer.md +0 -59
  202. package/docs/it/packages/angular-intlayer.md +0 -50
  203. package/docs/it/packages/astro-intlayer.md +0 -37
  204. package/docs/it/packages/intlayer-cli.md +0 -46
  205. package/docs/it/packages/next-intlayer.md +0 -70
  206. package/docs/it/packages/vue-intlayer.md +0 -59
  207. package/docs/ja/packages/angular-intlayer.md +0 -50
  208. package/docs/ja/packages/astro-intlayer.md +0 -37
  209. package/docs/ja/packages/intlayer-cli.md +0 -46
  210. package/docs/ja/packages/next-intlayer.md +0 -70
  211. package/docs/ja/packages/vue-intlayer.md +0 -59
  212. package/docs/ko/packages/angular-intlayer.md +0 -50
  213. package/docs/ko/packages/astro-intlayer.md +0 -37
  214. package/docs/ko/packages/intlayer-cli.md +0 -46
  215. package/docs/ko/packages/next-intlayer.md +0 -70
  216. package/docs/ko/packages/vue-intlayer.md +0 -59
  217. package/docs/pl/packages/angular-intlayer.md +0 -50
  218. package/docs/pl/packages/astro-intlayer.md +0 -37
  219. package/docs/pl/packages/intlayer-cli.md +0 -46
  220. package/docs/pl/packages/next-intlayer.md +0 -70
  221. package/docs/pl/packages/vue-intlayer.md +0 -59
  222. package/docs/pt/packages/angular-intlayer.md +0 -50
  223. package/docs/pt/packages/astro-intlayer.md +0 -37
  224. package/docs/pt/packages/intlayer-cli.md +0 -46
  225. package/docs/pt/packages/next-intlayer.md +0 -70
  226. package/docs/pt/packages/vue-intlayer.md +0 -59
  227. package/docs/ru/packages/angular-intlayer.md +0 -50
  228. package/docs/ru/packages/astro-intlayer.md +0 -37
  229. package/docs/ru/packages/intlayer-cli.md +0 -46
  230. package/docs/ru/packages/next-intlayer.md +0 -70
  231. package/docs/ru/packages/vue-intlayer.md +0 -59
  232. package/docs/tr/packages/angular-intlayer.md +0 -50
  233. package/docs/tr/packages/astro-intlayer.md +0 -37
  234. package/docs/tr/packages/intlayer-cli.md +0 -46
  235. package/docs/tr/packages/next-intlayer.md +0 -70
  236. package/docs/tr/packages/vue-intlayer.md +0 -59
  237. package/docs/uk/packages/angular-intlayer.md +0 -50
  238. package/docs/uk/packages/astro-intlayer.md +0 -37
  239. package/docs/uk/packages/intlayer-cli.md +0 -46
  240. package/docs/uk/packages/next-intlayer.md +0 -70
  241. package/docs/uk/packages/vue-intlayer.md +0 -59
  242. package/docs/vi/packages/angular-intlayer.md +0 -50
  243. package/docs/vi/packages/astro-intlayer.md +0 -37
  244. package/docs/vi/packages/intlayer-cli.md +0 -46
  245. package/docs/vi/packages/next-intlayer.md +0 -70
  246. package/docs/vi/packages/vue-intlayer.md +0 -59
  247. package/docs/zh/packages/angular-intlayer.md +0 -50
  248. package/docs/zh/packages/astro-intlayer.md +0 -37
  249. package/docs/zh/packages/intlayer-cli.md +0 -46
  250. package/docs/zh/packages/next-intlayer.md +0 -70
  251. package/docs/zh/packages/vue-intlayer.md +0 -59
@@ -134,7 +134,7 @@ Intlayer поддерживает несколько форматов конфи
134
134
 
135
135
  ### Управление компонентами
136
136
 
137
- - **[Преобразование компонентов](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/transform.md)** - Преобразование существующих компонентов для использования Intlayer
137
+ - **[Преобразование компонентов](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/extract.md)** - Преобразование существующих компонентов для использования Intlayer
138
138
 
139
139
  ### Конфигурация
140
140
 
@@ -49,7 +49,7 @@ history:
49
49
 
50
50
  Для более глубокого архитектурного сравнения см. блог-пост [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/ru/compiler_vs_declarative_i18n.md).
51
51
 
52
- В качестве альтернативы, для автоматизации процесса i18n при сохранении полного контроля над контентом, Intlayer также предоставляет команду автоматического извлечения `intlayer transform` (см. [документацию CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/transform.md)) или команду `Intlayer: extract content to Dictionary` из расширения Intlayer VS Code (см. [документацию расширения VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/vs_code_extension.md)).
52
+ В качестве альтернативы, для автоматизации процесса i18n при сохранении полного контроля над контентом, Intlayer также предоставляет команду автоматического извлечения `intlayer extract` (см. [документацию CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/extract.md)) или команду `Intlayer: extract content to Dictionary` из расширения Intlayer VS Code (см. [документацию расширения VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/vs_code_extension.md)).
53
53
 
54
54
  ## Использование
55
55
 
@@ -85,6 +85,7 @@ Intlayer поддерживает форматы файлов конфигура
85
85
 
86
86
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
87
87
  import { Locales, type IntlayerConfig } from "intlayer";
88
+ import { nextjsRewrite } from "intlayer/routing";
88
89
  import { z } from "zod";
89
90
 
90
91
  /**
@@ -191,12 +192,12 @@ const config: IntlayerConfig = {
191
192
  /**
192
193
  * Custom URL rewriting rules for locale-specific paths.
193
194
  */
194
- rewrite: {
195
- "/about": {
196
- en: "/about",
197
- fr: "/a-propos",
195
+ rewrite: nextjsRewrite({
196
+ "/[locale]/about": {
197
+ en: "/[locale]/about",
198
+ fr: "/[locale]/a-propos",
198
199
  },
199
- },
200
+ }),
200
201
  },
201
202
 
202
203
  /**
@@ -350,6 +351,12 @@ const config: IntlayerConfig = {
350
351
  * Default: ['esm', 'cjs']
351
352
  */
352
353
  outputFormat: ["esm"],
354
+
355
+ /**
356
+ * Indicates if the build should check TypeScript types.
357
+ * Default: false
358
+ */
359
+ checkTypes: false,
353
360
  },
354
361
 
355
362
  /**
@@ -424,7 +431,10 @@ const config: IntlayerConfig = {
424
431
  /**
425
432
  * Pattern to traverse the code to optimize.
426
433
  */
427
- transformPattern: ["**/*.{js,ts,mjs,cjs,jsx,tsx}", "!**/node_modules/**"],
434
+ transformPattern: [
435
+ "**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
436
+ "!**/node_modules/**",
437
+ ],
428
438
 
429
439
  /**
430
440
  * Pattern to exclude from the optimization.
@@ -637,26 +647,27 @@ export default config;
637
647
  ```typescript
638
648
  routing: {
639
649
  mode: "prefix-no-default", // Стратегия отката
640
- rewrite: {
641
- "/about": {
642
- en: "/about",
643
- fr: "/a-propos",
650
+ rewrite: nextjsRewrite({
651
+ "/[locale]/about": {
652
+ en: "/[locale]/about",
653
+ fr: "/[locale]/a-propos",
644
654
  },
645
- "/product/[slug]": {
646
- en: "/product/[slug]",
647
- fr: "/produit/[slug]",
655
+ "/[locale]/product/[slug]": {
656
+ en: "/[locale]/product/[slug]",
657
+ fr: "/[locale]/produit/[slug]",
648
658
  },
649
- "/blog/[category]/[id]": {
650
- en: "/blog/[category]/[id]",
651
- fr: "/journal/[category]/[id]",
659
+ "/[locale]/blog/[category]/[id]": {
660
+ en: "/[locale]/blog/[category]/[id]",
661
+ fr: "/[locale]/journal/[category]/[id]",
652
662
  },
653
- },
663
+ }),
654
664
  }
655
665
  ```
656
666
  - _Примечание_: Правила перезаписи имеют приоритет над поведением `mode` по умолчанию. Если путь соответствует правилу перезаписи, будет использован локализованный путь из конфигурации перезаписи вместо стандартного префикса языка.
657
667
  - _Примечание_: Динамические параметры маршрута поддерживаются с использованием нотации в квадратных скобках (например, `[slug]`, `[id]`). Значения параметров автоматически извлекаются из URL и интерполируются в перезаписанный путь.
658
668
  - _Примечание_: Работает с приложениями Next.js и Vite. Промежуточное ПО/прокси автоматически перезапишет входящие запросы, чтобы соответствовать внутренней структуре маршрута.
659
669
  - _Примечание_: При генерации URL с помощью `getLocalizedUrl()` правила перезаписи автоматически применяются, если они соответствуют предоставленному пути.
670
+ - _Ссылка_: Дополнительную информацию см. в разделе [Пользовательская перезапись URL](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/custom_url_rewrites.md).
660
671
 
661
672
  - **serverSetCookie**:
662
673
  - _Тип_: `string`
@@ -944,6 +955,12 @@ Intlayer поддерживает несколько провайдеров ИИ
944
955
  - _Примечание_: Если 'manual', сборка будет установлена только при выполнении команды сборки.
945
956
  - _Примечание_: Может использоваться для отключения сборки словарей, например, когда следует избегать выполнения в среде Node.js.
946
957
 
958
+ - **checkTypes**:
959
+ - _Type_: `boolean`
960
+ - _Default_: `false`
961
+ - _Description_: Указывает, должна ли сборка проверять типы TypeScript и регистрировать ошибки.
962
+ - _Note_: Это может замедлить процесс сборки.
963
+
947
964
  - **optimize**:
948
965
  - _Тип_: `boolean`
949
966
  - _По умолчанию_: `process.env.NODE_ENV === 'production'`
@@ -26,11 +26,17 @@ history:
26
26
  npx intlayer init skills
27
27
  ```
28
28
 
29
+ Veya Vercel Skill SDK kullanarak
30
+
31
+ ```bash
32
+ npx skills add aymericzip/intlayer-skills
33
+ ```
34
+
29
35
  Bu komutu çalıştırdığınızda şu işlemleri yapar:
30
36
 
31
37
  1. Kullandığınız framework'ü algılar (ör. Next.js, React, Vite).
32
38
  2. Hangi platformlar için yetenekler yüklemek istediğinizi sorar (Cursor, Windsurf, VS Code, OpenCode, Claude Code, GitHub Copilot Workspace vb.).
33
- 3. Gerekli yapılandırma dosyalarını üretir (ör. `.cursor/skills/intlayer_next_js/SKILL.md`, `.windsurf/skills/intlayer_next_js/SKILL.md`, `.opencode/skills/intlayer_next_js/SKILL.md`, `.vscode/mcp.json` vb.).
39
+ 3. Gerekli yapılandırma dosyalarını üretir (ör. `.cursor/skills/intlayer-next-js/SKILL.md`, `.windsurf/skills/intlayer-next-js/SKILL.md`, `.opencode/skills/intlayer-next-js/SKILL.md`, `.vscode/mcp.json` vb.).
34
40
 
35
41
  ## Desteklenen Platformlar
36
42
 
@@ -13,6 +13,10 @@ slugs:
13
13
  - concept
14
14
  - cli
15
15
  - build
16
+ history:
17
+ - version: 8.1.5
18
+ date: 2026-02-23
19
+ changes: checkTypes seçeneği eklendi
16
20
  ---
17
21
 
18
22
  # Sözlükleri Oluşturma
@@ -62,3 +66,7 @@ Bu komut, varsayılan olarak `./src/**/*.content.{ts|js|mjs|cjs|json|tsx|jsx}` d
62
66
  - **`--no-cache`**: Önbelleği devre dışı bırakın.
63
67
 
64
68
  > Örnek: `npx intlayer build --no-cache`
69
+
70
+ - **`--check-types`**: İçerik bildirim dosyalarının türlerini kontrol eder.
71
+
72
+ > Örnek: `npx intlayer build --check-types`
@@ -134,7 +134,7 @@ Mevcut yerellerin veya diğer parametrelerin nasıl yapılandırılacağını g
134
134
 
135
135
  ### Bileşen Yönetimi
136
136
 
137
- - **[Bileşenleri Dönüştür](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/transform.md)** - Mevcut bileşenleri Intlayer kullanacak şekilde dönüştürün
137
+ - **[Bileşenleri Dönüştür](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/extract.md)** - Mevcut bileşenleri Intlayer kullanacak şekilde dönüştürün
138
138
 
139
139
  ### Konfigürasyon
140
140
 
@@ -49,7 +49,7 @@ Derleyici mükemmel bir "hemen çalışır" deneyimi sunarken, aynı zamanda far
49
49
 
50
50
  Daha derin bir mimari karşılaştırma için [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/compiler_vs_declarative_i18n.md) blog yazısına bakın.
51
51
 
52
- Alternatif olarak, içeriğiniz üzerinde tam kontrolü korurken i18n sürecinizi otomatikleştirmek için, Intlayer ayrıca otomatik çıkarım komutu `intlayer transform` (bkz. [CLI dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/transform.md)) veya Intlayer VS Code uzantısının `Intlayer: extract content to Dictionary` komutunu (bkz. [VS Code uzantı dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/vs_code_extension.md)) sağlar.
52
+ Alternatif olarak, içeriğiniz üzerinde tam kontrolü korurken i18n sürecinizi otomatikleştirmek için, Intlayer ayrıca otomatik çıkarım komutu `intlayer extract` (bkz. [CLI dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/extract.md)) veya Intlayer VS Code uzantısının `Intlayer: extract content to Dictionary` komutunu (bkz. [VS Code uzantı dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/vs_code_extension.md)) sağlar.
53
53
 
54
54
  ## Kullanım
55
55
 
@@ -88,6 +88,7 @@ Intlayer, JSON, JS, MJS ve TS yapılandırma dosyası formatlarını kabul eder:
88
88
 
89
89
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
90
90
  import { Locales, type IntlayerConfig } from "intlayer";
91
+ import { nextjsRewrite } from "intlayer/routing";
91
92
  import { z } from "zod";
92
93
 
93
94
  /**
@@ -194,12 +195,12 @@ const config: IntlayerConfig = {
194
195
  /**
195
196
  * Custom URL rewriting rules for locale-specific paths.
196
197
  */
197
- rewrite: {
198
- "/about": {
199
- en: "/about",
200
- fr: "/a-propos",
198
+ rewrite: nextjsRewrite({
199
+ "/[locale]/about": {
200
+ en: "/[locale]/about",
201
+ fr: "/[locale]/a-propos",
201
202
  },
202
- },
203
+ }),
203
204
  },
204
205
 
205
206
  /**
@@ -345,6 +346,12 @@ const config: IntlayerConfig = {
345
346
  * Default: ['esm', 'cjs']
346
347
  */
347
348
  outputFormat: ["esm"],
349
+
350
+ /**
351
+ * Indicates if the build should check TypeScript types.
352
+ * Default: false
353
+ */
354
+ checkTypes: false,
348
355
  },
349
356
 
350
357
  /**
@@ -419,7 +426,10 @@ const config: IntlayerConfig = {
419
426
  /**
420
427
  * Pattern to traverse the code to optimize.
421
428
  */
422
- transformPattern: ["**/*.{js,ts,mjs,cjs,jsx,tsx}", "!**/node_modules/**"],
429
+ transformPattern: [
430
+ "**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
431
+ "!**/node_modules/**",
432
+ ],
423
433
 
424
434
  /**
425
435
  * Pattern to exclude from the optimization.
@@ -632,26 +642,27 @@ Uygulamanın çerezleri, başlıkları ve yerel yönetimi için URL öneklerini
632
642
  ```typescript
633
643
  routing: {
634
644
  mode: "prefix-no-default", // Yedek strateji
635
- rewrite: {
636
- "/about": {
637
- en: "/about",
638
- fr: "/a-propos",
645
+ rewrite: nextjsRewrite({
646
+ "/[locale]/about": {
647
+ en: "/[locale]/about",
648
+ fr: "/[locale]/a-propos",
639
649
  },
640
- "/product/[slug]": {
641
- en: "/product/[slug]",
642
- fr: "/produit/[slug]",
650
+ "/[locale]/product/[slug]": {
651
+ en: "/[locale]/product/[slug]",
652
+ fr: "/[locale]/produit/[slug]",
643
653
  },
644
- "/blog/[category]/[id]": {
645
- en: "/blog/[category]/[id]",
646
- fr: "/journal/[category]/[id]",
654
+ "/[locale]/blog/[category]/[id]": {
655
+ en: "/[locale]/blog/[category]/[id]",
656
+ fr: "/[locale]/journal/[category]/[id]",
647
657
  },
648
- },
658
+ }),
649
659
  }
650
660
  ```
651
661
  - _Not_: Yeniden yazma kuralları varsayılan `mode` davranışından önceliklidir. Bir yol bir yeniden yazma kuralıyla eşleşirse, standart dil öneki yerine yeniden yazma yapılandırmasından yerelleştirilmiş yol kullanılacaktır.
652
662
  - _Not_: Dinamik rota parametreleri köşeli ayraç gösterimi (örneğin, `[slug]`, `[id]`) kullanılarak desteklenir. Parametre değerleri URL'den otomatik olarak çıkarılır ve yeniden yazılan yola eklenir.
653
663
  - _Not_: Next.js ve Vite uygulamalarıyla çalışır. Middleware/proxy, gelen istekleri iç rota yapısıyla eşleşecek şekilde otomatik olarak yeniden yazacaktır.
654
664
  - _Not_: `getLocalizedUrl()` ile URL oluştururken, sağlanan yolla eşleşirlerse yeniden yazma kuralları otomatik olarak uygulanır.
665
+ - _Referans_: Daha fazla bilgi için, [Özel URL Yeniden Yazma](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/custom_url_rewrites.md) konusuna bakın.
655
666
 
656
667
  - **serverSetCookie**:
657
668
  - _Tür_: `string`
@@ -932,6 +943,12 @@ Derleme seçenekleri `@intlayer/babel` ve `@intlayer/swc` eklentilerine uygulan
932
943
  - _Not_: 'manual' ise, derleme yalnızca derleme komutu çalıştırıldığında ayarlanır.
933
944
  - _Not_: Sözlük derlemesini devre dışı bırakmak için kullanılabilir, örneğin Node.js ortamında yürütmeden kaçınılması gerektiğinde.
934
945
 
946
+ - **checkTypes**:
947
+ - _Type_: `boolean`
948
+ - _Default_: `false`
949
+ - _Description_: Derlemenin TypeScript türlerini kontrol edip etmeyeceğini ve hataları kaydedip kaydetmeyeceğini belirtir.
950
+ - _Note_: Bu, derleme işlemini yavaşlatabilir.
951
+
935
952
  - **optimize**:
936
953
  - _Tür_: `boolean`
937
954
  - _Varsayılan_: `process.env.NODE_ENV === 'production'`
@@ -26,11 +26,17 @@ history:
26
26
  npx intlayer init skills
27
27
  ```
28
28
 
29
+ Або використовуючи Vercel Skill SDK
30
+
31
+ ```bash
32
+ npx skills add aymericzip/intlayer-skills
33
+ ```
34
+
29
35
  Коли ви запускаєте цю команду, вона:
30
36
 
31
37
  1. Визначить фреймворк, який ви використовуєте (наприклад, Next.js, React, Vite).
32
38
  2. Запитає, для яких платформ ви хочете встановити навички (Cursor, Windsurf, VS Code, OpenCode, Claude Code, GitHub Copilot Workspace тощо).
33
- 3. Згенерує потрібні конфігураційні файли (наприклад, `.cursor/skills/intlayer_next_js/SKILL.md`, `.windsurf/skills/intlayer_next_js/SKILL.md`, `.opencode/skills/intlayer_next_js/SKILL.md`, `.vscode/mcp.json` тощо).
39
+ 3. Згенерує потрібні конфігураційні файли (наприклад, `.cursor/skills/intlayer-next-js/SKILL.md`, `.windsurf/skills/intlayer-next-js/SKILL.md`, `.opencode/skills/intlayer-next-js/SKILL.md`, `.vscode/mcp.json` тощо).
34
40
 
35
41
  ## Підтримувані платформи
36
42
 
@@ -13,6 +13,10 @@ slugs:
13
13
  - concept
14
14
  - cli
15
15
  - build
16
+ history:
17
+ - version: 8.1.5
18
+ date: 2026-02-23
19
+ changes: Додати опцію checkTypes
16
20
  ---
17
21
 
18
22
  # Побудова словників
@@ -62,3 +66,7 @@ npx intlayer build --watch
62
66
  - **`--no-cache`**: Вимкнути кеш.
63
67
 
64
68
  > Приклад: `npx intlayer build --no-cache`
69
+
70
+ - **`--check-types`**: Перевіряє типи файлів оголошення контенту.
71
+
72
+ > Приклад: `npx intlayer build --check-types`
@@ -137,7 +137,7 @@ Intlayer підтримує кілька форматів конфігураці
137
137
 
138
138
  ### Керування компонентами
139
139
 
140
- - **[Трансформувати компоненти](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/transform.md)** - Трансформувати існуючі компоненти для використання Intlayer
140
+ - **[Трансформувати компоненти](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/extract.md)** - Трансформувати існуючі компоненти для використання Intlayer
141
141
 
142
142
  ### Конфігурація
143
143
 
@@ -49,7 +49,7 @@ The **Intlayer Compiler** — потужний інструмент, створ
49
49
 
50
50
  Для більш глибокого архітектурного порівняння див. публікацію в блозі [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/uk/compiler_vs_declarative_i18n.md).
51
51
 
52
- Як альтернативу, щоб автоматизувати ваш процес i18n і зберегти повний контроль над контентом, Intlayer також надає команду автоматичної екстракції `intlayer transform` (див. [Документація CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/transform.md)), або команду `Intlayer: extract content to Dictionary` з розширення Intlayer для VS Code (див. [Документація розширення VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/vs_code_extension.md)).
52
+ Як альтернативу, щоб автоматизувати ваш процес i18n і зберегти повний контроль над контентом, Intlayer також надає команду автоматичної екстракції `intlayer extract` (див. [Документація CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/extract.md)), або команду `Intlayer: extract content to Dictionary` з розширення Intlayer для VS Code (див. [Документація розширення VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/vs_code_extension.md)).
53
53
 
54
54
  ## Використання
55
55
 
@@ -103,6 +103,7 @@ Intlayer підтримує формати файлів конфігурації
103
103
 
104
104
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
105
105
  import { Locales, type IntlayerConfig } from "intlayer";
106
+ import { nextjsRewrite } from "intlayer/routing";
106
107
  import { z } from "zod";
107
108
 
108
109
  /**
@@ -209,12 +210,12 @@ const config: IntlayerConfig = {
209
210
  /**
210
211
  * Custom URL rewriting rules for locale-specific paths.
211
212
  */
212
- rewrite: {
213
- "/about": {
214
- en: "/about",
215
- fr: "/a-propos",
213
+ rewrite: nextjsRewrite({
214
+ "/[locale]/about": {
215
+ en: "/[locale]/about",
216
+ fr: "/[locale]/a-propos",
216
217
  },
217
- },
218
+ }),
218
219
  },
219
220
 
220
221
  /**
@@ -360,6 +361,12 @@ const config: IntlayerConfig = {
360
361
  * Default: ['esm', 'cjs']
361
362
  */
362
363
  outputFormat: ["esm"],
364
+
365
+ /**
366
+ * Indicates if the build should check TypeScript types.
367
+ * Default: false
368
+ */
369
+ checkTypes: false,
363
370
  },
364
371
 
365
372
  /**
@@ -434,7 +441,10 @@ const config: IntlayerConfig = {
434
441
  /**
435
442
  * Pattern to traverse the code to optimize.
436
443
  */
437
- transformPattern: ["**/*.{js,ts,mjs,cjs,jsx,tsx}", "!**/node_modules/**"],
444
+ transformPattern: [
445
+ "**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
446
+ "!**/node_modules/**",
447
+ ],
438
448
 
439
449
  /**
440
450
  * Pattern to exclude from the optimization.
@@ -655,6 +665,36 @@ export default config;
655
665
  - URL буде `https://example.com/my-app/en`
656
666
  - Якщо базовий шлях не встановлено, URL буде `https://example.com/en`
657
667
 
668
+ - **rewrite**:
669
+ - _Тип_: `Record<string, StrictModeLocaleMap<string>>`
670
+ - _За замовчуванням_: `undefined`
671
+ - _Опис_: Користувацькі правила перезапису URL, які перевизначають режим маршрутизації за замовчуванням для певних шляхів. Дозволяє визначати специфічні для локалі шляхи, які відрізняються від стандартної поведінки маршрутизації. Підтримує динамічні параметри маршруту з використанням синтаксису `[param]`.
672
+ - _Приклад_:
673
+ ```typescript
674
+ routing: {
675
+ mode: "prefix-no-default", // Стратегія відкату
676
+ rewrite: nextjsRewrite({
677
+ "/[locale]/about": {
678
+ en: "/[locale]/about",
679
+ fr: "/[locale]/a-propos",
680
+ },
681
+ "/[locale]/product/[slug]": {
682
+ en: "/[locale]/product/[slug]",
683
+ fr: "/[locale]/produit/[slug]",
684
+ },
685
+ "/[locale]/blog/[category]/[id]": {
686
+ en: "/[locale]/blog/[category]/[id]",
687
+ fr: "/[locale]/journal/[category]/[id]",
688
+ },
689
+ }),
690
+ }
691
+ ```
692
+ - _Примітка_: Правила перезапису мають пріоритет над поведінкою `mode` за замовчуванням. Якщо шлях відповідає правилу перезапису, буде використано локалізований шлях з конфігурації перезапису замість стандартного префікса локалі.
693
+ - _Примітка_: Динамічні параметри маршруту підтримуються з використанням нотації в квадратних дужках (наприклад, `[slug]`, `[id]`). Значення параметрів автоматично витягуються з URL та інтерполюються в перезаписаний шлях.
694
+ - _Примітка_: Працює з додатками Next.js та Vite. Middleware/proxy автоматично перезапише вхідні запити, щоб відповідати внутрішній структурі маршруту.
695
+ - _Примітка_: При генерації URL за допомогою `getLocalizedUrl()` правила перезапису автоматично застосовуються, якщо вони відповідають наданому шляху.
696
+ - _Посилання_: Для отримання додаткової інформації див. [Користувацьке перезаписування URL](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/custom_url_rewrites.md).
697
+
658
698
  #### Атрибути cookie
659
699
 
660
700
  При використанні зберігання в cookie ви можете налаштувати додаткові атрибути cookie:
@@ -1045,6 +1085,12 @@ Intlayer підтримує кількох постачальників ШІ д
1045
1085
  - _Note_: Якщо встановлено в "live", лише ті словники, які містять віддалений контент і позначені прапорцем "live", будуть перетворені у live-режим. Інші будуть імпортовані динамічно як режим "dynamic" для оптимізації кількості запитів і швидкості завантаження.
1046
1086
  - _Note_: У режимі live буде використовуватися Live Sync API для отримання словників. Якщо виклик API завершиться невдачею, словники будуть імпортовані динамічно в режимі "dynamic".
1047
1087
  - _Note_: Ця опція не вплине на функції `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` та `useDictionaryDynamic`.
1088
+ - **checkTypes**:
1089
+ - _Type_: `boolean`
1090
+ - _Default_: `false`
1091
+ - _Description_: Вказує, чи повинна збірка перевіряти типи TypeScript та реєструвати помилки.
1092
+ - _Note_: Це може уповільнити процес збірки.
1093
+
1048
1094
  - **outputFormat**:
1049
1095
  - _Type_: `'esm' | 'cjs'`
1050
1096
  - _Default_: `'esm'`
@@ -26,11 +26,17 @@ Lệnh `intlayer init skills` là cách dễ nhất để thiết lập agent sk
26
26
  npx intlayer init skills
27
27
  ```
28
28
 
29
+ Hoặc sử dụng Vercel Skill SDK
30
+
31
+ ```bash
32
+ npx skills add aymericzip/intlayer-skills
33
+ ```
34
+
29
35
  Khi bạn chạy lệnh này, nó sẽ:
30
36
 
31
37
  1. Phát hiện framework mà bạn đang sử dụng (ví dụ: Next.js, React, Vite).
32
38
  2. Hỏi bạn muốn cài kỹ năng cho nền tảng nào (Cursor, Windsurf, VS Code, OpenCode, Claude Code, GitHub Copilot Workspace, v.v.).
33
- 3. Tạo các tệp cấu hình cần thiết (chẳng hạn `.cursor/skills/intlayer_next_js/SKILL.md`, `.windsurf/skills/intlayer_next_js/SKILL.md`, `.opencode/skills/intlayer_next_js/SKILL.md`, `.vscode/mcp.json`, v.v.).
39
+ 3. Tạo các tệp cấu hình cần thiết (chẳng hạn `.cursor/skills/intlayer-next-js/SKILL.md`, `.windsurf/skills/intlayer-next-js/SKILL.md`, `.opencode/skills/intlayer-next-js/SKILL.md`, `.vscode/mcp.json`, v.v.).
34
40
 
35
41
  ## Các nền tảng được hỗ trợ
36
42
 
@@ -13,6 +13,10 @@ slugs:
13
13
  - concept
14
14
  - cli
15
15
  - build
16
+ history:
17
+ - version: 8.1.5
18
+ date: 2026-02-23
19
+ changes: Thêm tùy chọn checkTypes
16
20
  ---
17
21
 
18
22
  # Xây dựng Từ điển
@@ -62,3 +66,7 @@ Lệnh này sẽ tìm các tệp khai báo nội dung của bạn theo mặc đ
62
66
  - **`--no-cache`**: Vô hiệu hóa bộ nhớ đệm.
63
67
 
64
68
  > Ví dụ: `npx intlayer build --no-cache`
69
+
70
+ - **`--check-types`**: Kiểm tra các kiểu của tệp khai báo nội dung.
71
+
72
+ > Ví dụ: `npx intlayer build --check-types`
@@ -135,7 +135,7 @@ Intlayer chấp nhận nhiều định dạng tệp cấu hình:
135
135
 
136
136
  ### Quản lý Thành phần
137
137
 
138
- - **[Chuyển đổi Thành phần](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/transform.md)** - Chuyển đổi các thành phần hiện có để sử dụng Intlayer
138
+ - **[Chuyển đổi Thành phần](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/extract.md)** - Chuyển đổi các thành phần hiện có để sử dụng Intlayer
139
139
 
140
140
  ### Cấu hình
141
141
 
@@ -49,7 +49,7 @@ Mặc dù trình biên dịch mang lại trải nghiệm "hoạt động ngay" t
49
49
 
50
50
  Để có so sánh kiến trúc sâu hơn, xem bài viết blog [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/vi/compiler_vs_declarative_i18n.md).
51
51
 
52
- Như một giải pháp thay thế, để tự động hóa quy trình i18n của bạn trong khi vẫn giữ quyền kiểm soát hoàn toàn đối với nội dung của bạn, Intlayer cũng cung cấp lệnh tự động trích xuất `intlayer transform` (xem [tài liệu CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/transform.md)), hoặc lệnh `Intlayer: extract content to Dictionary` từ tiện ích mở rộng Intlayer VS Code (xem [tài liệu tiện ích mở rộng VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/vs_code_extension.md)).
52
+ Như một giải pháp thay thế, để tự động hóa quy trình i18n của bạn trong khi vẫn giữ quyền kiểm soát hoàn toàn đối với nội dung của bạn, Intlayer cũng cung cấp lệnh tự động trích xuất `intlayer extract` (xem [tài liệu CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/extract.md)), hoặc lệnh `Intlayer: extract content to Dictionary` từ tiện ích mở rộng Intlayer VS Code (xem [tài liệu tiện ích mở rộng VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/vs_code_extension.md)).
53
53
 
54
54
  ## Cách sử dụng
55
55
 
@@ -103,6 +103,7 @@ Intlayer chấp nhận các định dạng tệp cấu hình JSON, JS, MJS và T
103
103
 
104
104
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
105
105
  import { Locales, type IntlayerConfig } from "intlayer";
106
+ import { nextjsRewrite } from "intlayer/routing";
106
107
  import { z } from "zod";
107
108
 
108
109
  /**
@@ -209,12 +210,12 @@ const config: IntlayerConfig = {
209
210
  /**
210
211
  * Custom URL rewriting rules for locale-specific paths.
211
212
  */
212
- rewrite: {
213
- "/about": {
214
- en: "/about",
215
- fr: "/a-propos",
213
+ rewrite: nextjsRewrite({
214
+ "/[locale]/about": {
215
+ en: "/[locale]/about",
216
+ fr: "/[locale]/a-propos",
216
217
  },
217
- },
218
+ }),
218
219
  },
219
220
 
220
221
  /**
@@ -360,6 +361,12 @@ const config: IntlayerConfig = {
360
361
  * Default: ['esm', 'cjs']
361
362
  */
362
363
  outputFormat: ["esm"],
364
+
365
+ /**
366
+ * Indicates if the build should check TypeScript types.
367
+ * Default: false
368
+ */
369
+ checkTypes: false,
363
370
  },
364
371
 
365
372
  /**
@@ -434,7 +441,10 @@ const config: IntlayerConfig = {
434
441
  /**
435
442
  * Pattern to traverse the code to optimize.
436
443
  */
437
- transformPattern: ["**/*.{js,ts,mjs,cjs,jsx,tsx}", "!**/node_modules/**"],
444
+ transformPattern: [
445
+ "**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
446
+ "!**/node_modules/**",
447
+ ],
438
448
 
439
449
  /**
440
450
  * Pattern to exclude from the optimization.
@@ -663,26 +673,27 @@ Các thiết lập kiểm soát hành vi routing, bao gồm cấu trúc URL, lư
663
673
  ```typescript
664
674
  routing: {
665
675
  mode: "prefix-no-default", // Chiến lược dự phòng
666
- rewrite: {
667
- "/about": {
668
- en: "/about",
669
- fr: "/a-propos",
676
+ rewrite: nextjsRewrite({
677
+ "/[locale]/about": {
678
+ en: "/[locale]/about",
679
+ fr: "/[locale]/a-propos",
670
680
  },
671
- "/product/[slug]": {
672
- en: "/product/[slug]",
673
- fr: "/produit/[slug]",
681
+ "/[locale]/product/[slug]": {
682
+ en: "/[locale]/product/[slug]",
683
+ fr: "/[locale]/produit/[slug]",
674
684
  },
675
- "/blog/[category]/[id]": {
676
- en: "/blog/[category]/[id]",
677
- fr: "/journal/[category]/[id]",
685
+ "/[locale]/blog/[category]/[id]": {
686
+ en: "/[locale]/blog/[category]/[id]",
687
+ fr: "/[locale]/journal/[category]/[id]",
678
688
  },
679
- },
689
+ }),
680
690
  }
681
691
  ```
682
692
  - _Lưu ý_: Các quy tắc viết lại có ưu tiên cao hơn hành vi `mode` mặc định. Nếu một đường dẫn khớp với quy tắc viết lại, đường dẫn đã được bản địa hóa từ cấu hình viết lại sẽ được sử dụng thay vì tiền tố ngôn ngữ tiêu chuẩn.
683
693
  - _Lưu ý_: Tham số tuyến động được hỗ trợ bằng cách sử dụng ký hiệu ngoặc vuông (ví dụ: `[slug]`, `[id]`). Giá trị tham số được tự động trích xuất từ URL và nội suy vào đường dẫn đã viết lại.
684
694
  - _Lưu ý_: Hoạt động với ứng dụng Next.js và Vite. Middleware/proxy sẽ tự động viết lại các yêu cầu đến để khớp với cấu trúc tuyến nội bộ.
685
695
  - _Lưu ý_: Khi tạo URL bằng `getLocalizedUrl()`, các quy tắc viết lại được áp dụng tự động nếu chúng khớp với đường dẫn được cung cấp.
696
+ - _Tham khảo_: Để biết thêm thông tin, xem [Viết lại URL tùy chỉnh](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/custom_url_rewrites.md).
686
697
 
687
698
  #### Thuộc tính Cookie
688
699
 
@@ -1062,6 +1073,12 @@ Các tùy chọn build áp dụng cho các plugin `@intlayer/babel` và `@intlay
1062
1073
  - _Lưu ý_: Nếu được đặt thành "live", chỉ những từ điển bao gồm nội dung từ xa và được đánh dấu là "live" mới được chuyển đổi sang chế độ live. Các từ điển khác sẽ được nhập động dưới dạng chế độ "dynamic" để tối ưu số lượng truy vấn fetch và hiệu suất tải.
1063
1074
  - _Lưu ý_: Chế độ live sẽ sử dụng live sync API để lấy các từ điển. Nếu cuộc gọi API thất bại, các từ điển sẽ được nhập động dưới dạng chế độ "dynamic".
1064
1075
  - _Lưu ý_: Tùy chọn này sẽ không ảnh hưởng đến các hàm `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` và `useDictionaryDynamic`.
1076
+ - **checkTypes**:
1077
+ - _Type_: `boolean`
1078
+ - _Default_: `false`
1079
+ - _Description_: Cho biết liệu quá trình xây dựng có nên kiểm tra các kiểu TypeScript và ghi lại lỗi hay không.
1080
+ - _Note_: Điều này có thể làm chậm quá trình xây dựng.
1081
+
1065
1082
  - **outputFormat**:
1066
1083
  - _Kiểu_: `'esm' | 'cjs'`
1067
1084
  - _Mặc định_: `'esm'`
@@ -26,11 +26,17 @@ history:
26
26
  npx intlayer init skills
27
27
  ```
28
28
 
29
+ 或使用 Vercel Skill SDK
30
+
31
+ ```bash
32
+ npx skills add aymericzip/intlayer-skills
33
+ ```
34
+
29
35
  运行此命令时,它将:
30
36
 
31
37
  1. 检测您正在使用的框架(例如 Next.js、React、Vite)。
32
38
  2. 询问您要为哪些平台安装技能(Cursor、Windsurf、VS Code、OpenCode、Claude Code、GitHub Copilot Workspace 等)。
33
- 3. 生成所需的配置文件(例如 `.cursor/skills/intlayer_next_js/SKILL.md`、`.windsurf/skills/intlayer_next_js/SKILL.md`、`.opencode/skills/intlayer_next_js/SKILL.md`、`.vscode/mcp.json` 等)。
39
+ 3. 生成所需的配置文件(例如 `.cursor/skills/intlayer-next-js/SKILL.md`、`.windsurf/skills/intlayer-next-js/SKILL.md`、`.opencode/skills/intlayer-next-js/SKILL.md`、`.vscode/mcp.json` 等)。
34
40
 
35
41
  ## 支持的平台
36
42