@intlayer/docs 8.3.0 → 8.3.2

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 (360) hide show
  1. package/blog/ar/i18n_using_next-i18next.md +1 -0
  2. package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +0 -29
  3. package/blog/uk/internationalization_and_SEO.md +1 -1
  4. package/docs/ar/compiler.md +84 -49
  5. package/docs/ar/configuration.md +82 -58
  6. package/docs/ar/intlayer_with_analog.md +2 -2
  7. package/docs/ar/intlayer_with_angular.md +2 -2
  8. package/docs/ar/intlayer_with_astro.md +2 -2
  9. package/docs/ar/intlayer_with_lynx+react.md +2 -2
  10. package/docs/ar/intlayer_with_nextjs_16.md +174 -1
  11. package/docs/ar/intlayer_with_nextjs_compiler.md +174 -1
  12. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +4 -7
  13. package/docs/ar/intlayer_with_react_native+expo.md +2 -2
  14. package/docs/ar/intlayer_with_react_router_v7.md +224 -1
  15. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +225 -1
  16. package/docs/ar/intlayer_with_svelte_kit.md +175 -2
  17. package/docs/ar/intlayer_with_tanstack.md +176 -1
  18. package/docs/ar/intlayer_with_vite+preact.md +176 -3
  19. package/docs/ar/intlayer_with_vite+react.md +174 -1
  20. package/docs/ar/intlayer_with_vite+solid.md +176 -3
  21. package/docs/ar/intlayer_with_vite+svelte.md +176 -3
  22. package/docs/ar/intlayer_with_vite+vue.md +178 -5
  23. package/docs/ar/vs_code_extension.md +1 -1
  24. package/docs/de/compiler.md +83 -48
  25. package/docs/de/configuration.md +417 -214
  26. package/docs/de/intlayer_with_analog.md +2 -2
  27. package/docs/de/intlayer_with_angular.md +2 -2
  28. package/docs/de/intlayer_with_astro.md +2 -2
  29. package/docs/de/intlayer_with_lynx+react.md +2 -2
  30. package/docs/de/intlayer_with_nextjs_16.md +176 -1
  31. package/docs/de/intlayer_with_nextjs_compiler.md +106 -349
  32. package/docs/de/intlayer_with_react_native+expo.md +2 -2
  33. package/docs/de/intlayer_with_react_router_v7.md +225 -2
  34. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +221 -79
  35. package/docs/de/intlayer_with_svelte_kit.md +158 -2
  36. package/docs/de/intlayer_with_tanstack.md +159 -1
  37. package/docs/de/intlayer_with_vite+preact.md +159 -3
  38. package/docs/de/intlayer_with_vite+react.md +157 -1
  39. package/docs/de/intlayer_with_vite+solid.md +161 -5
  40. package/docs/de/intlayer_with_vite+svelte.md +159 -3
  41. package/docs/de/intlayer_with_vite+vue.md +159 -3
  42. package/docs/de/vs_code_extension.md +1 -1
  43. package/docs/en/compiler.md +60 -33
  44. package/docs/en/configuration.md +82 -77
  45. package/docs/en/intlayer_with_analog.md +1 -1
  46. package/docs/en/intlayer_with_angular.md +1 -1
  47. package/docs/en/intlayer_with_astro.md +1 -1
  48. package/docs/en/intlayer_with_lynx+react.md +1 -1
  49. package/docs/en/intlayer_with_nextjs_16.md +176 -0
  50. package/docs/en/intlayer_with_nextjs_compiler.md +179 -1
  51. package/docs/en/intlayer_with_react_native+expo.md +1 -1
  52. package/docs/en/intlayer_with_react_router_v7.md +159 -0
  53. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +159 -0
  54. package/docs/en/intlayer_with_svelte_kit.md +159 -0
  55. package/docs/en/intlayer_with_tanstack.md +160 -1
  56. package/docs/en/intlayer_with_vite+preact.md +160 -1
  57. package/docs/en/intlayer_with_vite+react.md +159 -0
  58. package/docs/en/intlayer_with_vite+solid.md +149 -28
  59. package/docs/en/intlayer_with_vite+svelte.md +160 -1
  60. package/docs/en/intlayer_with_vite+vue.md +143 -42
  61. package/docs/en/vs_code_extension.md +1 -1
  62. package/docs/en-GB/compiler.md +66 -34
  63. package/docs/en-GB/configuration.md +80 -57
  64. package/docs/en-GB/intlayer_with_analog.md +1 -1
  65. package/docs/en-GB/intlayer_with_angular.md +1 -1
  66. package/docs/en-GB/intlayer_with_astro.md +1 -1
  67. package/docs/en-GB/intlayer_with_lynx+react.md +1 -1
  68. package/docs/en-GB/intlayer_with_react_native+expo.md +1 -1
  69. package/docs/en-GB/intlayer_with_vite+preact.md +1 -1
  70. package/docs/en-GB/intlayer_with_vite+react.md +1 -1
  71. package/docs/en-GB/intlayer_with_vite+solid.md +1 -1
  72. package/docs/en-GB/intlayer_with_vite+svelte.md +1 -1
  73. package/docs/en-GB/intlayer_with_vite+vue.md +2 -2
  74. package/docs/en-GB/vs_code_extension.md +1 -1
  75. package/docs/es/compiler.md +83 -48
  76. package/docs/es/configuration.md +412 -208
  77. package/docs/es/intlayer_with_adonisjs.md +1 -1
  78. package/docs/es/intlayer_with_analog.md +2 -2
  79. package/docs/es/intlayer_with_angular.md +2 -2
  80. package/docs/es/intlayer_with_astro.md +2 -2
  81. package/docs/es/intlayer_with_express.md +1 -1
  82. package/docs/es/intlayer_with_fastify.md +1 -1
  83. package/docs/es/intlayer_with_hono.md +1 -1
  84. package/docs/es/intlayer_with_lynx+react.md +2 -2
  85. package/docs/es/intlayer_with_nestjs.md +1 -1
  86. package/docs/es/intlayer_with_nextjs_16.md +176 -3
  87. package/docs/es/intlayer_with_nextjs_compiler.md +175 -2
  88. package/docs/es/intlayer_with_nuxt.md +1 -1
  89. package/docs/es/intlayer_with_react_native+expo.md +2 -2
  90. package/docs/es/intlayer_with_react_router_v7.md +227 -4
  91. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +162 -4
  92. package/docs/es/intlayer_with_svelte_kit.md +158 -2
  93. package/docs/es/intlayer_with_tanstack.md +160 -2
  94. package/docs/es/intlayer_with_vite+preact.md +164 -8
  95. package/docs/es/intlayer_with_vite+react.md +160 -4
  96. package/docs/es/intlayer_with_vite+solid.md +165 -9
  97. package/docs/es/intlayer_with_vite+svelte.md +159 -3
  98. package/docs/es/intlayer_with_vite+vue.md +169 -13
  99. package/docs/es/vs_code_extension.md +1 -1
  100. package/docs/fr/compiler.md +81 -46
  101. package/docs/fr/configuration.md +351 -149
  102. package/docs/fr/intlayer_with_adonisjs.md +1 -1
  103. package/docs/fr/intlayer_with_analog.md +2 -2
  104. package/docs/fr/intlayer_with_angular.md +2 -2
  105. package/docs/fr/intlayer_with_astro.md +2 -2
  106. package/docs/fr/intlayer_with_express.md +1 -1
  107. package/docs/fr/intlayer_with_fastify.md +1 -1
  108. package/docs/fr/intlayer_with_hono.md +1 -1
  109. package/docs/fr/intlayer_with_lynx+react.md +2 -2
  110. package/docs/fr/intlayer_with_nestjs.md +1 -1
  111. package/docs/fr/intlayer_with_nextjs_16.md +183 -7
  112. package/docs/fr/intlayer_with_nextjs_compiler.md +179 -3
  113. package/docs/fr/intlayer_with_react_native+expo.md +2 -2
  114. package/docs/fr/intlayer_with_react_router_v7.md +229 -3
  115. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +237 -6
  116. package/docs/fr/intlayer_with_svelte_kit.md +158 -2
  117. package/docs/fr/intlayer_with_tanstack.md +159 -1
  118. package/docs/fr/intlayer_with_vite+preact.md +166 -10
  119. package/docs/fr/intlayer_with_vite+react.md +163 -7
  120. package/docs/fr/intlayer_with_vite+solid.md +165 -9
  121. package/docs/fr/intlayer_with_vite+svelte.md +159 -3
  122. package/docs/fr/intlayer_with_vite+vue.md +168 -12
  123. package/docs/fr/vs_code_extension.md +1 -1
  124. package/docs/hi/compiler.md +81 -46
  125. package/docs/hi/configuration.md +89 -65
  126. package/docs/hi/intlayer_with_analog.md +1 -1
  127. package/docs/hi/intlayer_with_angular.md +2 -2
  128. package/docs/hi/intlayer_with_astro.md +2 -2
  129. package/docs/hi/intlayer_with_lynx+react.md +2 -2
  130. package/docs/hi/intlayer_with_nextjs_16.md +174 -1
  131. package/docs/hi/intlayer_with_nextjs_compiler.md +174 -1
  132. package/docs/hi/intlayer_with_react_native+expo.md +2 -2
  133. package/docs/hi/intlayer_with_react_router_v7.md +224 -1
  134. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +225 -1
  135. package/docs/hi/intlayer_with_svelte_kit.md +158 -2
  136. package/docs/hi/intlayer_with_tanstack.md +159 -1
  137. package/docs/hi/intlayer_with_vite+preact.md +159 -3
  138. package/docs/hi/intlayer_with_vite+react.md +157 -1
  139. package/docs/hi/intlayer_with_vite+solid.md +159 -3
  140. package/docs/hi/intlayer_with_vite+svelte.md +159 -3
  141. package/docs/hi/intlayer_with_vite+vue.md +159 -3
  142. package/docs/hi/vs_code_extension.md +1 -1
  143. package/docs/id/compiler.md +84 -51
  144. package/docs/id/configuration.md +85 -65
  145. package/docs/id/intlayer_with_analog.md +2 -2
  146. package/docs/id/intlayer_with_angular.md +2 -2
  147. package/docs/id/intlayer_with_astro.md +2 -2
  148. package/docs/id/intlayer_with_lynx+react.md +2 -2
  149. package/docs/id/intlayer_with_nextjs_16.md +174 -1
  150. package/docs/id/intlayer_with_nextjs_compiler.md +174 -1
  151. package/docs/id/intlayer_with_react_native+expo.md +2 -2
  152. package/docs/id/intlayer_with_react_router_v7.md +224 -1
  153. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +225 -1
  154. package/docs/id/intlayer_with_svelte_kit.md +158 -2
  155. package/docs/id/intlayer_with_tanstack.md +159 -1
  156. package/docs/id/intlayer_with_vite+preact.md +159 -3
  157. package/docs/id/intlayer_with_vite+react.md +159 -3
  158. package/docs/id/intlayer_with_vite+solid.md +159 -3
  159. package/docs/id/intlayer_with_vite+svelte.md +159 -3
  160. package/docs/id/intlayer_with_vite+vue.md +159 -3
  161. package/docs/id/vs_code_extension.md +1 -1
  162. package/docs/it/compiler.md +81 -46
  163. package/docs/it/configuration.md +410 -208
  164. package/docs/it/intlayer_with_analog.md +2 -2
  165. package/docs/it/intlayer_with_angular.md +2 -2
  166. package/docs/it/intlayer_with_astro.md +2 -2
  167. package/docs/it/intlayer_with_lynx+react.md +2 -2
  168. package/docs/it/intlayer_with_nextjs_16.md +174 -1
  169. package/docs/it/intlayer_with_nextjs_compiler.md +174 -1
  170. package/docs/it/intlayer_with_react_native+expo.md +2 -2
  171. package/docs/it/intlayer_with_react_router_v7.md +225 -2
  172. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +226 -2
  173. package/docs/it/intlayer_with_svelte_kit.md +158 -2
  174. package/docs/it/intlayer_with_tanstack.md +159 -1
  175. package/docs/it/intlayer_with_vite+preact.md +159 -3
  176. package/docs/it/intlayer_with_vite+react.md +159 -3
  177. package/docs/it/intlayer_with_vite+solid.md +161 -5
  178. package/docs/it/intlayer_with_vite+svelte.md +159 -3
  179. package/docs/it/intlayer_with_vite+vue.md +161 -5
  180. package/docs/it/vs_code_extension.md +1 -1
  181. package/docs/ja/compiler.md +94 -58
  182. package/docs/ja/configuration.md +90 -66
  183. package/docs/ja/intlayer_with_analog.md +2 -2
  184. package/docs/ja/intlayer_with_angular.md +2 -2
  185. package/docs/ja/intlayer_with_astro.md +2 -2
  186. package/docs/ja/intlayer_with_lynx+react.md +2 -2
  187. package/docs/ja/intlayer_with_nextjs_16.md +174 -1
  188. package/docs/ja/intlayer_with_nextjs_compiler.md +174 -1
  189. package/docs/ja/intlayer_with_react_native+expo.md +2 -2
  190. package/docs/ja/intlayer_with_react_router_v7.md +184 -394
  191. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +226 -2
  192. package/docs/ja/intlayer_with_svelte_kit.md +119 -595
  193. package/docs/ja/intlayer_with_tanstack.md +131 -642
  194. package/docs/ja/intlayer_with_vite+preact.md +111 -1231
  195. package/docs/ja/intlayer_with_vite+react.md +129 -1304
  196. package/docs/ja/intlayer_with_vite+solid.md +161 -5
  197. package/docs/ja/intlayer_with_vite+svelte.md +159 -3
  198. package/docs/ja/intlayer_with_vite+vue.md +159 -3
  199. package/docs/ja/vs_code_extension.md +1 -1
  200. package/docs/ko/compiler.md +88 -52
  201. package/docs/ko/configuration.md +89 -65
  202. package/docs/ko/intlayer_with_analog.md +2 -2
  203. package/docs/ko/intlayer_with_angular.md +2 -2
  204. package/docs/ko/intlayer_with_astro.md +2 -2
  205. package/docs/ko/intlayer_with_lynx+react.md +2 -2
  206. package/docs/ko/intlayer_with_nextjs_16.md +174 -1
  207. package/docs/ko/intlayer_with_nextjs_compiler.md +174 -1
  208. package/docs/ko/intlayer_with_react_native+expo.md +2 -2
  209. package/docs/ko/intlayer_with_react_router_v7.md +225 -2
  210. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +226 -2
  211. package/docs/ko/intlayer_with_svelte_kit.md +158 -2
  212. package/docs/ko/intlayer_with_tanstack.md +159 -1
  213. package/docs/ko/intlayer_with_vite+preact.md +159 -3
  214. package/docs/ko/intlayer_with_vite+react.md +157 -1
  215. package/docs/ko/intlayer_with_vite+solid.md +161 -5
  216. package/docs/ko/intlayer_with_vite+svelte.md +159 -3
  217. package/docs/ko/intlayer_with_vite+vue.md +159 -3
  218. package/docs/ko/vs_code_extension.md +1 -1
  219. package/docs/pl/compiler.md +84 -51
  220. package/docs/pl/configuration.md +85 -57
  221. package/docs/pl/intlayer_with_analog.md +2 -2
  222. package/docs/pl/intlayer_with_angular.md +2 -2
  223. package/docs/pl/intlayer_with_astro.md +2 -2
  224. package/docs/pl/intlayer_with_lynx+react.md +2 -2
  225. package/docs/pl/intlayer_with_nextjs_16.md +174 -1
  226. package/docs/pl/intlayer_with_nextjs_compiler.md +174 -1
  227. package/docs/pl/intlayer_with_react_native+expo.md +2 -2
  228. package/docs/pl/intlayer_with_react_router_v7.md +224 -1
  229. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +225 -1
  230. package/docs/pl/intlayer_with_svelte_kit.md +158 -2
  231. package/docs/pl/intlayer_with_tanstack.md +159 -1
  232. package/docs/pl/intlayer_with_vite+preact.md +158 -2
  233. package/docs/pl/intlayer_with_vite+react.md +159 -3
  234. package/docs/pl/intlayer_with_vite+solid.md +159 -3
  235. package/docs/pl/intlayer_with_vite+svelte.md +159 -3
  236. package/docs/pl/intlayer_with_vite+vue.md +161 -5
  237. package/docs/pl/vs_code_extension.md +1 -1
  238. package/docs/pt/compiler.md +81 -46
  239. package/docs/pt/configuration.md +399 -199
  240. package/docs/pt/intlayer_with_analog.md +2 -2
  241. package/docs/pt/intlayer_with_angular.md +2 -2
  242. package/docs/pt/intlayer_with_astro.md +2 -2
  243. package/docs/pt/intlayer_with_lynx+react.md +2 -2
  244. package/docs/pt/intlayer_with_nextjs_16.md +174 -1
  245. package/docs/pt/intlayer_with_nextjs_compiler.md +174 -1
  246. package/docs/pt/intlayer_with_react_native+expo.md +2 -2
  247. package/docs/pt/intlayer_with_react_router_v7.md +224 -1
  248. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +225 -1
  249. package/docs/pt/intlayer_with_svelte_kit.md +158 -2
  250. package/docs/pt/intlayer_with_tanstack.md +159 -1
  251. package/docs/pt/intlayer_with_vite+preact.md +158 -2
  252. package/docs/pt/intlayer_with_vite+react.md +157 -1
  253. package/docs/pt/intlayer_with_vite+solid.md +159 -3
  254. package/docs/pt/intlayer_with_vite+svelte.md +159 -3
  255. package/docs/pt/intlayer_with_vite+vue.md +159 -3
  256. package/docs/pt/vs_code_extension.md +1 -1
  257. package/docs/ru/compiler.md +90 -57
  258. package/docs/ru/configuration.md +78 -67
  259. package/docs/ru/intlayer_with_analog.md +2 -2
  260. package/docs/ru/intlayer_with_angular.md +2 -2
  261. package/docs/ru/intlayer_with_astro.md +2 -2
  262. package/docs/ru/intlayer_with_lynx+react.md +2 -2
  263. package/docs/ru/intlayer_with_nextjs_16.md +174 -1
  264. package/docs/ru/intlayer_with_nextjs_compiler.md +174 -1
  265. package/docs/ru/intlayer_with_react_native+expo.md +2 -2
  266. package/docs/ru/intlayer_with_react_router_v7.md +224 -1
  267. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +225 -1
  268. package/docs/ru/intlayer_with_svelte_kit.md +158 -2
  269. package/docs/ru/intlayer_with_tanstack.md +159 -1
  270. package/docs/ru/intlayer_with_vite+preact.md +159 -3
  271. package/docs/ru/intlayer_with_vite+react.md +157 -1
  272. package/docs/ru/intlayer_with_vite+solid.md +159 -3
  273. package/docs/ru/intlayer_with_vite+svelte.md +159 -3
  274. package/docs/ru/intlayer_with_vite+vue.md +159 -3
  275. package/docs/ru/vs_code_extension.md +1 -1
  276. package/docs/tr/compiler.md +85 -52
  277. package/docs/tr/configuration.md +85 -61
  278. package/docs/tr/intlayer_with_analog.md +2 -2
  279. package/docs/tr/intlayer_with_angular.md +2 -2
  280. package/docs/tr/intlayer_with_astro.md +2 -2
  281. package/docs/tr/intlayer_with_lynx+react.md +2 -2
  282. package/docs/tr/intlayer_with_nextjs_16.md +174 -1
  283. package/docs/tr/intlayer_with_nextjs_compiler.md +174 -1
  284. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +6 -14
  285. package/docs/tr/intlayer_with_react_native+expo.md +2 -2
  286. package/docs/tr/intlayer_with_react_router_v7.md +224 -1
  287. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +225 -1
  288. package/docs/tr/intlayer_with_svelte_kit.md +158 -2
  289. package/docs/tr/intlayer_with_tanstack.md +159 -1
  290. package/docs/tr/intlayer_with_vite+preact.md +159 -3
  291. package/docs/tr/intlayer_with_vite+react.md +159 -3
  292. package/docs/tr/intlayer_with_vite+solid.md +159 -3
  293. package/docs/tr/intlayer_with_vite+svelte.md +159 -3
  294. package/docs/tr/intlayer_with_vite+vue.md +159 -3
  295. package/docs/tr/vs_code_extension.md +1 -1
  296. package/docs/uk/compiler.md +96 -61
  297. package/docs/uk/configuration.md +85 -57
  298. package/docs/uk/intlayer_with_analog.md +2 -2
  299. package/docs/uk/intlayer_with_angular.md +2 -2
  300. package/docs/uk/intlayer_with_astro.md +2 -2
  301. package/docs/uk/intlayer_with_lynx+react.md +2 -2
  302. package/docs/uk/intlayer_with_nextjs_16.md +174 -1
  303. package/docs/uk/intlayer_with_nextjs_compiler.md +174 -1
  304. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +4 -22
  305. package/docs/uk/intlayer_with_react_native+expo.md +2 -2
  306. package/docs/uk/intlayer_with_react_router_v7.md +224 -1
  307. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +225 -1
  308. package/docs/uk/intlayer_with_svelte_kit.md +157 -1
  309. package/docs/uk/intlayer_with_tanstack.md +159 -1
  310. package/docs/uk/intlayer_with_vite+preact.md +159 -3
  311. package/docs/uk/intlayer_with_vite+react.md +157 -1
  312. package/docs/uk/intlayer_with_vite+solid.md +159 -3
  313. package/docs/uk/intlayer_with_vite+svelte.md +159 -3
  314. package/docs/uk/intlayer_with_vite+vue.md +159 -3
  315. package/docs/uk/vs_code_extension.md +1 -1
  316. package/docs/vi/compiler.md +85 -50
  317. package/docs/vi/configuration.md +87 -59
  318. package/docs/vi/intlayer_with_analog.md +2 -2
  319. package/docs/vi/intlayer_with_angular.md +2 -2
  320. package/docs/vi/intlayer_with_astro.md +2 -2
  321. package/docs/vi/intlayer_with_lynx+react.md +2 -2
  322. package/docs/vi/intlayer_with_nextjs_16.md +174 -1
  323. package/docs/vi/intlayer_with_nextjs_compiler.md +174 -1
  324. package/docs/vi/intlayer_with_react_native+expo.md +2 -2
  325. package/docs/vi/intlayer_with_react_router_v7.md +224 -1
  326. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +225 -1
  327. package/docs/vi/intlayer_with_svelte_kit.md +158 -2
  328. package/docs/vi/intlayer_with_tanstack.md +159 -1
  329. package/docs/vi/intlayer_with_vite+preact.md +159 -3
  330. package/docs/vi/intlayer_with_vite+react.md +159 -3
  331. package/docs/vi/intlayer_with_vite+solid.md +159 -3
  332. package/docs/vi/intlayer_with_vite+svelte.md +159 -3
  333. package/docs/vi/intlayer_with_vite+vue.md +159 -3
  334. package/docs/vi/vs_code_extension.md +1 -1
  335. package/docs/zh/compiler.md +84 -49
  336. package/docs/zh/configuration.md +82 -58
  337. package/docs/zh/intlayer_with_adonisjs.md +1 -1
  338. package/docs/zh/intlayer_with_analog.md +2 -2
  339. package/docs/zh/intlayer_with_angular.md +2 -2
  340. package/docs/zh/intlayer_with_astro.md +2 -2
  341. package/docs/zh/intlayer_with_express.md +1 -1
  342. package/docs/zh/intlayer_with_fastify.md +1 -1
  343. package/docs/zh/intlayer_with_hono.md +1 -1
  344. package/docs/zh/intlayer_with_lynx+react.md +2 -2
  345. package/docs/zh/intlayer_with_nestjs.md +1 -1
  346. package/docs/zh/intlayer_with_nextjs_16.md +174 -1
  347. package/docs/zh/intlayer_with_nextjs_compiler.md +174 -1
  348. package/docs/zh/intlayer_with_react_native+expo.md +2 -2
  349. package/docs/zh/intlayer_with_react_router_v7.md +227 -4
  350. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +228 -4
  351. package/docs/zh/intlayer_with_svelte_kit.md +158 -2
  352. package/docs/zh/intlayer_with_tanstack.md +159 -1
  353. package/docs/zh/intlayer_with_vite+preact.md +161 -5
  354. package/docs/zh/intlayer_with_vite+react.md +157 -1
  355. package/docs/zh/intlayer_with_vite+solid.md +163 -7
  356. package/docs/zh/intlayer_with_vite+svelte.md +159 -3
  357. package/docs/zh/intlayer_with_vite+vue.md +162 -6
  358. package/docs/zh/vs_code_extension.md +2 -2
  359. package/package.json +8 -8
  360. package/docs/update_docs.py +0 -65
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2026-03-11
3
+ updatedAt: 2026-03-12
4
4
  title: Configurazione
5
5
  description: Scopri come configurare Intlayer per la tua applicazione. Comprendi le varie impostazioni e opzioni disponibili per personalizzare Intlayer secondo le tue esigenze.
6
6
  keywords:
@@ -15,23 +15,32 @@ slugs:
15
15
  - configuration
16
16
  history:
17
17
  - version: 8.3.0
18
- data: 2026-03-11
18
+ date: 2026-03-11
19
19
  changes: Sposta 'baseDir' dalla configurazione 'content' alla configurazione 'system'
20
20
  - version: 8.2.0
21
- date: 2026-03-10
21
+ date: 2026-03-09
22
22
  changes: Aggiorna le opzioni del compilatore, aggiungi il supporto per 'output' e 'noMetadata'
23
23
  - version: 8.1.7
24
24
  date: 2026-02-25
25
25
  changes: Aggiorna le opzioni del compilatore
26
+ - version: 8.1.5
27
+ date: 2026-02-23
28
+ changes: Aggiunta opzione del compilatore 'build-only' e prefisso del dizionario
26
29
  - version: 8.0.6
27
30
  date: 2026-02-12
28
31
  changes: Aggiungi il supporto per i fornitori Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face e Together.ai
29
32
  - version: 8.0.5
30
33
  date: 2026-02-06
31
34
  changes: Aggiungi `dataSerialization` alla configurazione AI
35
+ - version: 8.0.0
36
+ date: 2026-01-24
37
+ changes: Rinomina la modalità di importazione `live` in `fetch` per descrivere meglio il meccanismo sottostante.
38
+ - version: 8.0.0
39
+ date: 2026-01-22
40
+ changes: Sposta la configurazione di build per `importMode` nella configurazione del dizionario.
32
41
  - version: 8.0.0
33
42
  date: 2026-01-22
34
- changes: Sposta la configurazione di build importMode nella configurazione del dizionario.
43
+ changes: Aggiunta l'opzione `rewrite` alla configurazione del routing
35
44
  - version: 8.0.0
36
45
  date: 2026-01-18
37
46
  changes: Separare la configurazione del sistema dalla configurazione del contenuto. Spostare i percorsi interni alla proprietà `system`. Aggiungere `codeDir` per separare i file di contenuto dalla trasformazione del codice.
@@ -44,6 +53,24 @@ history:
44
53
  - version: 7.5.0
45
54
  date: 2025-12-17
46
55
  changes: Aggiunta opzione `buildMode`
56
+ - version: 7.0.0
57
+ date: 2025-10-25
58
+ changes: Aggiunta configurazione `dictionary`
59
+ - version: 7.0.0
60
+ date: 2025-10-21
61
+ changes: Sostituito il `middleware` con la configurazione `routing`
62
+ - version: 7.0.0
63
+ date: 2025-10-12
64
+ changes: Aggiunta l'opzione `formatCommand`
65
+ - version: 6.2.0
66
+ date: 2025-10-12
67
+ changes: Aggiornata l'opzione `excludedPath`
68
+ - version: 6.0.2
69
+ date: 2025-09-23
70
+ changes: Aggiunta l'opzione `outputFormat`
71
+ - version: 6.0.0
72
+ date: 2025-09-21
73
+ changes: Rimosso il campo `dictionaryOutput` e il campo `i18nextResourcesDir`
47
74
  - version: 6.0.0
48
75
  date: 2025-09-16
49
76
  changes: Aggiunta modalità di importazione `live`
@@ -92,7 +119,7 @@ Intlayer accetta formati di file di configurazione JSON, JS, MJS e TS:
92
119
 
93
120
  ## Esempio di file di configurazione
94
121
 
95
- ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
122
+ ````typescript fileName="intlayer.config.ts" codeFormat="typescript"
96
123
  import { Locales, type IntlayerConfig } from "intlayer";
97
124
  import { nextjsRewrite } from "intlayer/routing";
98
125
  import { z } from "zod";
@@ -190,7 +217,7 @@ const config: IntlayerConfig = {
190
217
  * Options: 'cookie', 'localStorage', 'sessionStorage', 'header', or an array of these.
191
218
  * Default: ['cookie', 'header']
192
219
  */
193
- storage: "cookie",
220
+ storage: ["cookie", "header"],
194
221
 
195
222
  /**
196
223
  * Base path for the application URLs.
@@ -256,13 +283,13 @@ const config: IntlayerConfig = {
256
283
  editor: {
257
284
  /**
258
285
  * Whether the visual editor is enabled.
259
- * Default: true
286
+ * Default: false
260
287
  */
261
288
  enabled: true,
262
289
 
263
290
  /**
264
291
  * URL of your application for origin validation.
265
- * Default: "*"
292
+ * Default: ""
266
293
  */
267
294
  applicationURL: "http://localhost:3000",
268
295
 
@@ -321,12 +348,23 @@ const config: IntlayerConfig = {
321
348
  /**
322
349
  * Global context to guide the AI in generating translations.
323
350
  */
324
- applicationContext: "This is a travel booking application.",
351
+ applicationContext: "Questa è un'applicazione di prenotazione viaggi.",
325
352
 
326
353
  /**
327
354
  * Base URL for the AI API.
328
355
  */
329
356
  baseURL: "http://localhost:3000",
357
+
358
+ /**
359
+ * Serializzazione dei dati
360
+ *
361
+ * Opzioni:
362
+ * - "json": Standard, affidabile; utilizza più token.
363
+ * - "toon": Meno token, meno consistente di JSON.
364
+ *
365
+ * Predefinito: "json"
366
+ */
367
+ dataSerialization: "json",
330
368
  },
331
369
 
332
370
  /**
@@ -349,9 +387,9 @@ const config: IntlayerConfig = {
349
387
 
350
388
  /**
351
389
  * Output format for generated dictionary files.
352
- * Default: ['esm', 'cjs']
390
+ * Default: ['cjs', 'esm']
353
391
  */
354
- outputFormat: ["esm"],
392
+ outputFormat: ["cjs", "esm"],
355
393
 
356
394
  /**
357
395
  * Indicates if the build should check TypeScript types.
@@ -426,42 +464,70 @@ const config: IntlayerConfig = {
426
464
  compiler: {
427
465
  /**
428
466
  * Indica se il compilatore deve essere abilitato.
467
+ *
468
+ * - false : Disattiva il compilatore.
469
+ * - true : Attiva il compilatore.
470
+ * - "build-only" : Salta il compilatore durante lo sviluppo per accelerare i tempi di avvio.
471
+ *
472
+ * Valore predefinito : false
429
473
  */
430
474
  enabled: true,
431
475
 
432
476
  /**
433
- * Pattern to traverse the code to optimize.
434
- */
435
- transformPattern: [
436
- "**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
437
- "!**/node_modules/**",
438
- ],
439
-
440
- /**
441
- * Pattern to exclude from the optimization.
477
+ * Definisce il percorso dei file di output. Sostituisce `outputDir`.
478
+ *
479
+ * - I percorsi `./` sono risolti rispetto alla directory del componente.
480
+ * - I percorsi `/` sono risolti rispetto alla radice del progetto (`baseDir`).
481
+ *
482
+ * - L'inserimento della variabile `{{locale}}` nel percorso attiverà la generazione di dizionari separati per lingua.
483
+ *
484
+ * Esempi:
485
+ * ```ts
486
+ * {
487
+ * // Crea file .content.ts multilingue vicino al componente
488
+ * output: ({ fileName, extension }) => `./${fileName}${extension}`,
489
+ *
490
+ * // output: './{{fileName}}{{extension}}', // Equivalente usando una stringa template
491
+ * }
492
+ * ```
493
+ *
494
+ * ```ts
495
+ * {
496
+ * // Crea file JSON centralizzati per lingua nella radice del progetto
497
+ * output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
498
+ *
499
+ * // output: '/locales/{{locale}}/{{key}}.content.json', // Equivalente usando una stringa template
500
+ * }
501
+ * ```
502
+ *
503
+ * Elenco variabili:
504
+ * - `fileName`: Il nome del file.
505
+ * - `key`: La chiave del contenuto.
506
+ * - `locale`: La lingua del contenuto.
507
+ * - `extension`: L'estensione del file.
508
+ * - `componentFileName`: Il nome del file del componente.
509
+ * - `componentExtension`: L'estensione del file del componente.
510
+ * - `format`: Il formato del dizionario.
511
+ * - `componentFormat`: Il formato del dizionario del componente.
512
+ * - `componentDirPath`: Il percorso della directory del componente.
442
513
  */
443
- excludePattern: ["**/node_modules/**"],
514
+ output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
444
515
 
445
516
  /**
446
- * Directory di output per i dizionari ottimizzati.
517
+ * Indica se i componenti devono essere salvati dopo essere stati trasformati.
518
+ * In questo modo, il compilatore può essere eseguito una sola volta per trasformare l'app e poi rimosso.
447
519
  */
448
- output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
520
+ saveComponents: false,
449
521
 
450
522
  /**
451
- * Inserisci solo il contenuto nel file generato, senza chiave.
523
+ * Inserisci solo il contenuto nel file generato. Utile per output JSON i18next o ICU MessageFormat per lingua.
452
524
  */
453
525
  noMetadata: false,
454
526
 
455
527
  /**
456
528
  * Prefisso chiave dizionario
457
529
  */
458
- dictionaryKeyPrefix: "", // Remove base prefix
459
-
460
- /**
461
- * Indica se i componenti devono essere salvati dopo essere stati trasformati.
462
- * In questo modo, il compilatore può essere eseguito una sola volta per trasformare l'app e poi rimosso.
463
- */
464
- saveComponents: false,
530
+ dictionaryKeyPrefix: "", // Aggiungi un prefisso opzionale per le chiavi del dizionario estratte
465
531
  },
466
532
 
467
533
  /**
@@ -480,7 +546,7 @@ const config: IntlayerConfig = {
480
546
  };
481
547
 
482
548
  export default config;
483
- ```
549
+ ````
484
550
 
485
551
  ## Riferimento alla Configurazione
486
552
 
@@ -614,36 +680,50 @@ Definisce le impostazioni relative all'editor integrato, incluso il porto del se
614
680
  - _Predefinito_: `'http://localhost:{liveSyncPort}'`
615
681
  - _Descrizione_: L'URL del server di sincronizzazione live.
616
682
  - _Esempio_: `'https://example.com'`
617
- - _Nota_: Punta a localhost di default ma può essere cambiato in qualsiasi URL nel caso di un server di sincronizzazione live remoto.
618
-
619
- ### Configurazione del Middleware
683
+ - _Nota_: Punta a localhost di default ma può essere cambiato in qualsiasi URL nel caso di un se### Configurazione del Routing
620
684
 
621
- Impostazioni che controllano il comportamento del middleware, incluso come l'applicazione gestisce cookie, header e prefissi URL per la gestione della localizzazione.
685
+ Impostazioni che controllano il comportamento del routing, inclusa la struttura dell'URL, la memorizzazione della localizzazione e il funzionamento del middleware.
622
686
 
623
687
  #### Proprietà
624
688
 
625
- - **headerName**:
626
- - _Tipo_: `string`
627
- - _Predefinito_: `'x-intlayer-locale'`
628
- - _Descrizione_: Il nome dell'header HTTP usato per determinare la localizzazione.
629
- - _Esempio_: `'x-custom-locale'`
630
- - _Nota_: Utile per la determinazione della localizzazione basata su API.
631
-
632
- - **cookieName**:
633
- - _Tipo_: `string`
634
- - _Predefinito_: `'intlayer-locale'`
635
- - _Descrizione_: Il nome del cookie usato per memorizzare la localizzazione.
636
- - _Esempio_: `'custom-locale'`
637
- - _Nota_: Utilizzato per mantenere la localizzazione tra le sessioni.
638
-
639
- - **prefixDefault**:
640
- - _Tipo_: `boolean`
641
- - _Predefinito_: `false`
642
- - _Descrizione_: Se includere la localizzazione predefinita nell'URL.
643
- - _Esempio_: `true`
644
- - _Nota_:
645
- - Se `true` e `defaultLocale = 'en'`: percorso = `/en/dashboard` o `/fr/dashboard`
646
- - Se `false` e `defaultLocale = 'en'`: percorso = `/dashboard` o `/fr/dashboard`
689
+ - **mode**:
690
+ - _Tipo_: `'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'`
691
+ - _Predefinito_: `'prefix-no-default'`
692
+ - _Descrizione_: Modalità di routing URL per la gestione della localizzazione.
693
+ - _Esempi_:
694
+ - `'prefix-no-default'`: `/dashboard` (it) o `/fr/dashboard` (fr)
695
+ - `'prefix-all'`: `/it/dashboard` (it) o `/fr/dashboard` (fr)
696
+ - `'no-prefix'`: `/dashboard` (localizzazione gestita con altri mezzi)
697
+ - `'search-params'`: `/dashboard?locale=fr`
698
+ - _Nota_: Questa impostazione non influisce sulla gestione dei cookie o sulla memorizzazione della localizzazione.
699
+
700
+ - **storage**:
701
+ - _Tipo_: `false | 'cookie' | 'localStorage' | 'sessionStorage' | 'header' | CookiesAttributes | StorageAttributes | Array`
702
+ - _Predefinito_: `['cookie', 'header']`
703
+ - _Descrizione_: Configurazione per memorizzare la localizzazione sul client.
704
+
705
+ - **cookie**:
706
+ - _Descrizione_: Memorizza i dati nei cookie, piccoli frammenti di dati memorizzati nel browser del client, accessibili sia dal lato client che dal lato server.
707
+ - _Nota_: Per la memorizzazione conforme al GDPR, assicurarsi del consenso dell'utente prima dell'uso.
708
+ - _Nota_: I parametri dei cookie sono personalizzabili se configurati come CookiesAttributes (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`).
709
+
710
+ - **localStorage**:
711
+ - _Descrizione_: Memorizza i dati nel browser senza date di scadenza, consentendo la persistenza dei dati tra le sessioni; accessibile solo dal lato client.
712
+ - _Nota_: Ideale per la memorizzazione di dati a lungo termine, ma consapevole delle implicazioni in termini di privacy e sicurezza.
713
+ - _Nota_: Local storage è accessibile solo dal lato client; il proxy di intlayer non sarà in grado di accedervi.
714
+ - _Nota_: I parametri di local storage sono personalizzabili se configurati come StorageAttributes (`{ type: 'localStorage', name: 'custom-locale' }`).
715
+
716
+ - **sessionStorage**:
717
+ - _Descrizione_: Memorizza i dati per la durata della sessione della pagina, il che significa che vengono cancellati alla chiusura del tab o della finestra; accessibile solo dal lato client.
718
+ - _Nota_: Adatto per la memorizzazione temporanea di dati per ogni sessione.
719
+ - _Nota_: Local storage è accessibile solo dal lato client; il proxy di intlayer non sarà in grado di accedervi.
720
+ - _Nota_: I parametri di local storage sono personalizzabili se configurati come StorageAttributes (`{ type: 'sessionStorage', name: 'custom-locale' }`).
721
+
722
+ - **header**:
723
+ - _Descrizione_: Utilizza gli header HTTP per memorizzare o trasmettere dati sulla localizzazione, utile per la determinazione della lingua lato server.
724
+ - _Nota_: Utile nelle chiamate API per mantenere impostazioni linguistiche coerenti tra le richieste.
725
+ - _Nota_: L'header è accessibile solo dal lato server; il lato client non sarà in grado di accedervi.
726
+ - _Nota_: Il nome dell'header è personalizzabile se configurato come StorageAttributes (`{ type: 'header', name: 'custom-locale' }`).
647
727
 
648
728
  - **basePath**:
649
729
  - _Tipo_: `string`
@@ -651,10 +731,10 @@ Impostazioni che controllano il comportamento del middleware, incluso come l'app
651
731
  - _Descrizione_: Il percorso base per gli URL dell'applicazione.
652
732
  - _Esempio_: `'/my-app'`
653
733
  - _Nota_:
654
- - Se l'applicazione è ospitata su `https://example.com/my-app`
655
- - Il percorso base è `'/my-app'`
656
- - L'URL sarà `https://example.com/my-app/en`
657
- - Se il percorso base non è impostato, l'URL sarà `https://example.com/en`
734
+ - Se l'applicazione è ospitata su `https://example.com/my-app`,
735
+ - il percorso base è `'/my-app'`.
736
+ - L'URL sarà `https://example.com/my-app/it`.
737
+ - Se il percorso base non è impostato, l'URL sarà `https://example.com/it`.
658
738
 
659
739
  - **rewrite**:
660
740
  - _Tipo_: `Record<string, StrictModeLocaleMap<string>>`
@@ -665,17 +745,20 @@ Impostazioni che controllano il comportamento del middleware, incluso come l'app
665
745
  routing: {
666
746
  mode: "prefix-no-default", // Strategia di fallback
667
747
  rewrite: nextjsRewrite({
668
- "/[locale]/about": {
669
- en: "/[locale]/about",
670
- fr: "/[locale]/a-propos",
748
+ "/about": {
749
+ it: "/chi-siamo",
750
+ en: "/about",
751
+ fr: "/a-propos",
671
752
  },
672
- "/[locale]/product/[slug]": {
673
- en: "/[locale]/product/[slug]",
674
- fr: "/[locale]/produit/[slug]",
753
+ "/product/[slug]": {
754
+ it: "/prodotto/[slug]",
755
+ en: "/product/[slug]",
756
+ fr: "/produit/[slug]",
675
757
  },
676
- "/[locale]/blog/[category]/[id]": {
677
- en: "/[locale]/blog/[category]/[id]",
678
- fr: "/[locale]/journal/[category]/[id]",
758
+ "/blog/[category]/[id]": {
759
+ it: "/blog/[category]/[id]",
760
+ en: "/blog/[category]/[id]",
761
+ fr: "/journal/[category]/[id]",
679
762
  },
680
763
  }),
681
764
  }
@@ -686,25 +769,157 @@ Impostazioni che controllano il comportamento del middleware, incluso come l'app
686
769
  - _Nota_: Quando si generano URL con `getLocalizedUrl()`, le regole di riscrittura vengono applicate automaticamente se corrispondono al percorso fornito.
687
770
  - _Riferimento_: Per maggiori informazioni, vedi [Riscritture URL Personalizzate](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/custom_url_rewrites.md).
688
771
 
689
- - **serverSetCookie**:
690
- - _Tipo_: `string`
691
- - _Predefinito_: `'always'`
692
- - _Descrizione_: Regola per impostare il cookie della lingua sul server.
693
- - _Opzioni_: `'always'`, `'never'`
694
- - _Esempio_: `'never'`
695
- - _Nota_: Controlla se il cookie della lingua viene impostato ad ogni richiesta o mai.
772
+ #### Attributi dei Cookie
696
773
 
697
- - **noPrefix**:
698
- - _Tipo_: `boolean`
699
- - _Predefinito_: `false`
700
- - _Descrizione_: Se omettere il prefisso della lingua dagli URL.
701
- - _Esempio_: `true`
702
- - _Nota_:
703
- - Se `true`: Nessun prefisso nell'URL
704
- - Se `false`: Prefisso nell'URL
705
- - Esempio con `basePath = '/my-app'`:
706
- - Se `noPrefix = false`: l'URL sarà `https://example.com/my-app/en`
707
- - Se `noPrefix = true`: l'URL sarà `https://example.com`
774
+ Quando si utilizza la memorizzazione dei cookie, è possibile configurare attributi aggiuntivi per i cookie:
775
+
776
+ - **name**: Nome del cookie (predefinito: `'INTLAYER_LOCALE'`)
777
+ - **domain**: Dominio del cookie (predefinito: undefined)
778
+ - **path**: Percorso del cookie (predefinito: undefined)
779
+ - **secure**: Richiede HTTPS (predefinito: undefined)
780
+ - **httpOnly**: Flag HTTP-only (predefinito: undefined)
781
+ - **sameSite**: Politica SameSite (`'strict' | 'lax' | 'none'`)
782
+ - **expires**: Data di scadenza o giorni (predefinito: undefined)
783
+
784
+ #### Attributi di Memorizzazione Locale
785
+
786
+ Quando si utilizza localStorage o sessionStorage:
787
+
788
+ - **type**: Tipo di memorizzazione (`'localStorage' | 'sessionStorage'`)
789
+ - **name**: Nome della chiave di memorizzazione (predefinito: `'INTLAYER_LOCALE'`)
790
+
791
+ #### Esempi di Configurazione
792
+
793
+ Ecco alcuni esempi comuni di configurazione per la nuova struttura di routing v8:
794
+
795
+ **Configurazione di Base (Predefinita)**:
796
+
797
+ ```typescript
798
+ import { Locales, type IntlayerConfig } from "intlayer";
799
+ // intlayer.config.ts
800
+ const config: IntlayerConfig = {
801
+ internationalization: {
802
+ locales: ["en", "fr", "it"],
803
+ defaultLocale: "en",
804
+ },
805
+ routing: {
806
+ mode: "prefix-no-default",
807
+ storage: "localStorage",
808
+ basePath: "",
809
+ },
810
+ };
811
+
812
+ export default config;
813
+ ```
814
+
815
+ **Configurazione Conforme al GDPR**:
816
+
817
+ ```typescript
818
+ import { Locales, type IntlayerConfig } from "intlayer";
819
+ // intlayer.config.ts
820
+ const config: IntlayerConfig = {
821
+ internationalization: {
822
+ locales: ["en", "fr", "it"],
823
+ defaultLocale: "en",
824
+ },
825
+ routing: {
826
+ mode: "prefix-no-default",
827
+ storage: [
828
+ {
829
+ type: "localStorage",
830
+ name: "user-locale",
831
+ },
832
+ {
833
+ type: "cookie",
834
+ name: "user-locale",
835
+ secure: true,
836
+ sameSite: "strict",
837
+ httpOnly: false,
838
+ },
839
+ ],
840
+ basePath: "",
841
+ },
842
+ };
843
+
844
+ export default config;
845
+ ```
846
+
847
+ **Modalità Parametri di Ricerca**:
848
+
849
+ ```typescript
850
+ import { Locales, type IntlayerConfig } from "intlayer";
851
+ // intlayer.config.ts
852
+ const config: IntlayerConfig = {
853
+ internationalization: {
854
+ locales: ["en", "fr", "it"],
855
+ defaultLocale: "en",
856
+ },
857
+ routing: {
858
+ mode: "search-params",
859
+ storage: "localStorage",
860
+ basePath: "",
861
+ },
862
+ };
863
+
864
+ export default config;
865
+ ```
866
+
867
+ **Modalità Senza Prefisso con Memorizzazione Personalizzata**:
868
+
869
+ ```typescript
870
+ import { Locales, type IntlayerConfig } from "intlayer";
871
+ // intlayer.config.ts
872
+ const config: IntlayerConfig = {
873
+ internationalization: {
874
+ locales: ["en", "fr", "it"],
875
+ defaultLocale: "en",
876
+ },
877
+ routing: {
878
+ mode: "no-prefix",
879
+ storage: {
880
+ type: "sessionStorage",
881
+ name: "app-locale",
882
+ },
883
+ basePath: "/my-app",
884
+ },
885
+ };
886
+
887
+ export default config;
888
+ ```
889
+
890
+ **Riscrittura URL Personalizzata con Route Dinamiche**:
891
+
892
+ ```typescript
893
+ // intlayer.config.ts
894
+ import { nextjsRewrite } from "intlayer/routing";
895
+
896
+ const config: IntlayerConfig = {
897
+ internationalization: {
898
+ locales: ["en", "fr"],
899
+ defaultLocale: "en",
900
+ },
901
+ routing: {
902
+ mode: "prefix-no-default", // Strategia di fallback per route non riscritte
903
+ storage: "cookie",
904
+ rewrite: nextjsRewrite({
905
+ "/about": {
906
+ en: "/about",
907
+ fr: "/a-propos",
908
+ },
909
+ "/product/[slug]": {
910
+ en: "/product/[slug]",
911
+ fr: "/produit/[slug]",
912
+ },
913
+ "/blog/[category]/[id]": {
914
+ en: "/blog/[category]/[id]",
915
+ fr: "/journal/[category]/[id]",
916
+ },
917
+ }),
918
+ },
919
+ };
920
+
921
+ export default config;
922
+ ```
708
923
 
709
924
  ---
710
925
 
@@ -901,54 +1116,49 @@ Intlayer supporta più provider AI per una maggiore flessibilità e scelta. I pr
901
1116
  - **Fireworks**
902
1117
  - **Hugging Face**
903
1118
  - **Groq**
904
- - **Amazon Bedrock**
905
- - **Google AI Studio**
906
- - **Google Vertex**
907
- - **Together.ai**
908
- - **ollama**
909
-
910
- #### Proprietà
911
-
912
- - **provider**:
913
- - _Tipo_: `string`
914
- - _Predefinito_: `'openai'`
915
- - _Descrizione_: Il provider da utilizzare per le funzionalità AI di Intlayer.
916
- - _Opzioni_: `'openai'`, `'anthropic'`, `'mistral'`, `'deepseek'`, `'gemini'`, `'ollama'`, `'openrouter'`, `'alibaba'`, `'fireworks'`, `'groq'`, `'huggingface'`, `'bedrock'`, `'googleaistudio'`, `'googlevertex'`, `'togetherai'`
917
- - _Esempio_: `'anthropic'`
1119
+ - **Amazon Bedroc- provider** :
1120
+ - _Tipo_ : `string`
1121
+ - _Predefinito_ : `'openai'`
1122
+ - _Descrizione_ : Il provider da utilizzare per le funzionalità AI di Intlayer.
1123
+ - _Opzioni_ : `'openai'`, `'anthropic'`, `'mistral'`, `'deepseek'`, `'gemini'`, `'ollama'`, `'openrouter'`, `'alibaba'`, `'fireworks'`, `'groq'`, `'huggingface'`, `'bedrock'`, `'googleaistudio'`, `'googlevertex'`, `'togetherai'`
1124
+ - _Esempio_ : `'anthropic'`
918
1125
  - _Nota_: Diversi provider potrebbero richiedere chiavi API differenti e avere modelli di prezzo diversi.
919
1126
 
920
- - **model**:
921
- - _Tipo_: `string`
922
- - _Predefinito_: Nessuno
923
- - _Descrizione_: Il modello da utilizzare per le funzionalità AI di Intlayer.
924
- - _Esempio_: `'gpt-4o-2024-11-20'`
925
- - _Nota_: Il modello specifico da utilizzare varia a seconda del provider.
926
-
927
- - **temperature**:
928
- - _Tipo_: `number`
929
- - _Predefinito_: Nessuno
930
- - _Descrizione_: La temperatura controlla la casualità delle risposte dell'AI.
931
- - _Esempio_: `0.1`
932
- - _Nota_: Una temperatura più alta rende l'AI più creativa e meno prevedibile.
933
-
934
- - **apiKey**:
935
- - _Tipo_: `string`
936
- - _Predefinito_: Nessuno
937
- - _Descrizione_: La tua chiave API per il provider selezionato.
938
- - _Esempio_: `process.env.OPENAI_API_KEY`
939
- - _Nota_: Importante: le chiavi API devono essere mantenute segrete e non condivise pubblicamente. Assicurati di conservarle in un luogo sicuro, come le variabili d'ambiente.
940
-
941
- - **applicationContext**:
942
- - _Tipo_: `string`
943
- - _Predefinito_: Nessuno
944
- - _Descrizione_: Fornisce un contesto aggiuntivo sulla tua applicazione al modello AI, aiutandolo a generare traduzioni più accurate e contestualmente appropriate. Questo può includere informazioni sul dominio della tua app, il pubblico target, il tono o terminologia specifica.
945
-
946
- - **baseURL**:
947
- - _Tipo_: `string`
948
- - _Predefinito_: Nessuno
949
- - _Descrizione_: L'URL di base per l'API AI.
950
- - _Esempio_: `'https://api.openai.com/v1'`
951
- - _Nota_: Può essere utilizzato per puntare a un endpoint API AI locale o personalizzato.
1127
+ - **model** :
1128
+ - _Tipo_ : `string`
1129
+ - _Predefinito_ : Nessuno
1130
+ - _Descrizione_ : Il modello da utilizzare per le funzionalità AI di Intlayer.
1131
+ - _Esempio_ : `'gpt-4o-2024-11-20'`
1132
+ - _Nota_ : Il modello specifico da utilizzare varia a seconda del provider.
1133
+
1134
+ - **temperature** :
1135
+ - _Tipo_ : `number`
1136
+ - _Predefinito_ : Nessuno
1137
+ - _Descrizione_ : La temperatura controlla la casualità delle risposte dell'AI.
1138
+ - _Esempio_ : `0.1`
1139
+ - _Nota_ : Una temperatura più alta rende l'AI più creativa e meno prevedibile.
1140
+
1141
+ - **apiKey** :
1142
+ - _Tipo_ : `string`
1143
+ - _Predefinito_ : Nessuno
1144
+ - _Descrizione_ : La tua chiave API per il provider selezionato.
1145
+ - _Esempio_ : `process.env.OPENAI_API_KEY`
1146
+ - _Nota_ : Importante: le chiavi API devono essere mantenute segrete e non condivise pubblicamente. Assicurati di conservarle in un luogo sicuro, come le variabili d'ambiente.
1147
+
1148
+ - **applicationContext** :
1149
+ - _Tipo_ : `string`
1150
+ - _Predefinito_ : Nessuno
1151
+ - _Descrizione_ : Fornisce un contesto aggiuntivo sulla tua applicazione al modello AI, aiutandolo a generare traduzioni più accurate e contestualmente appropriate. Questo può includere informazioni sul dominio della tua app, il pubblico target, il tono o terminologia specifica.
1152
+ - _Nota_: Puoi usare questo per aggiungere altre regole al modello AI (ad esempio "non trasformare gli URL").
1153
+ - _Esempio_ : `'Il contesto della mia applicazione'`
1154
+
1155
+ - **baseURL** :
1156
+ - _Tipo_ : `string`
1157
+ - _Predefinito_ : Nessuno
1158
+ - _Descrizione_ : L'URL di base per l'API AI.
1159
+ - _Esempio_ : `'https://api.openai.com/v1'`
1160
+ - _Esempio_ : `'http://localhost:5000'`
1161
+ - _Nota_ : Può essere utilizzato per puntare a un endpoint API AI locale o personalizzato.
952
1162
 
953
1163
  - **dataSerialization**:
954
1164
  - _Tipo_: `'json' | 'toon'`
@@ -956,6 +1166,7 @@ Intlayer supporta più provider AI per una maggiore flessibilità e scelta. I pr
956
1166
  - _Descrizione_: Il formato di serializzazione dei dati da utilizzare per le funzionalità AI di Intlayer.
957
1167
  - _Esempio_: `'toon'`
958
1168
  - _Nota_: `json`: Standard, affidabile; utilizza più token. `toon`: Meno token, meno coerente del JSON.
1169
+ > Se fornisci parametri aggiuntivi, Intlayer li passerà al modello AI come contesto. Questo può essere utilizzato per regolare lo sforzo di ragionamento, la verbosità del testo, ecc.
959
1170
 
960
1171
  ### Configurazione della Build
961
1172
 
@@ -969,65 +1180,52 @@ Le opzioni di build si applicano ai plugin `@intlayer/babel` e `@intlayer/swc`.
969
1180
 
970
1181
  #### Proprietà
971
1182
 
972
- - **mode**:
973
- - _Tipo_: `'auto' | 'manual'`
974
- - _Predefinito_: `'auto'`
975
- - _Descrizione_: Controlla la modalità della build.
976
- - _Esempio_: `'manual'`
977
- - _Nota_: Se 'auto', la build sarà abilitata automaticamente quando l'applicazione viene costruita.
978
- - _Nota_: Se 'manual', la build sarà impostata solo quando viene eseguito il comando di build.
979
- - _Nota_: Può essere utilizzato per disabilitare la build dei dizionari, ad esempio quando l'esecuzione in un ambiente Node.js dovrebbe essere evitata.
980
-
981
- - **checkTypes**:
982
- - _Tipo_: `boolean`
983
- - _Predefinito_: `false`
984
- - _Descrizione_: Indica se la build deve controllare i tipi TypeScript e registrare gli errori.
985
- - _Nota_: Questo può rallentare la build.
986
-
987
- - **optimize**:
988
- - _Tipo_: `boolean`
989
- - _Predefinito_: `process.env.NODE_ENV === 'production'`
990
- - _Descrizione_: Controlla se la build deve essere ottimizzata.
991
- - _Esempio_: `true`
992
- - _Nota_: Quando abilitato, Intlayer sostituirà tutte le chiamate ai dizionari per ottimizzare il chunking. In questo modo il bundle finale importerà solo i dizionari utilizzati. Tutte le importazioni rimarranno come importazioni statiche per evitare l'elaborazione asincrona durante il caricamento dei dizionari.
993
- - _Nota_: Intlayer sostituirà tutte le chiamate di `useIntlayer` con la modalità definita dall'opzione `importMode` e `getIntlayer` con `getDictionary`.
994
- - _Nota_: Questa opzione si basa sui plugin `@intlayer/babel` e `@intlayer/swc`.
995
- - _Nota_: Assicurarsi che tutte le chiavi siano dichiarate staticamente nelle chiamate a `useIntlayer`. Es. `useIntlayer('navbar')`.
996
-
997
- - **importMode**:
998
- - _Nota_: **Deprecated**: Use `dictionary.importMode` instead.
999
- - _Tipo_: `'static' | 'dynamic' | 'fetch'`
1000
- - _Predefinito_: `'static'`
1001
- - _Descrizione_: Controlla come vengono importati i dizionari.
1002
- - _Esempio_: `'dynamic'`
1003
- - _Nota_: Modalità disponibili:
1004
- - "static": I dizionari sono importati staticamente. Sostituisce `useIntlayer` con `useDictionary`.
1005
- - "dynamic": I dizionari sono importati dinamicamente usando Suspense. Sostituisce `useIntlayer` con `useDictionaryDynamic`.
1006
- - "fetch": I dizionari vengono recuperati dinamicamente utilizzando l'API di sincronizzazione live. Sostituisce `useIntlayer` con `useDictionaryFetch`.
1007
- - _Nota_: Gli import dinamici si basano su Suspense e possono influire leggermente sulle prestazioni di rendering.
1008
- - _Nota_: Se disabilitato, tutte le localizzazioni verranno caricate contemporaneamente, anche se non vengono utilizzate.
1009
- - _Nota_: Questa opzione si basa sui plugin `@intlayer/babel` e `@intlayer/swc`.
1010
- - _Nota_: Assicurarsi che tutte le chiavi siano dichiarate staticamente nelle chiamate a `useIntlayer`, ad esempio `useIntlayer('navbar')`.
1011
- - _Nota_: Questa opzione verrà ignorata se `optimize` è disabilitato.
1012
- - _Nota_: Se impostato su "live", solo i dizionari che includono contenuti remoti e sono contrassegnati come "live" saranno trasformati in modalità live. Gli altri saranno importati dinamicamente in modalità "dynamic" per ottimizzare il numero di richieste di fetch e le prestazioni di caricamento.
1013
- - _Nota_: La modalità live utilizzerà l'API di sincronizzazione live per recuperare i dizionari. Se la chiamata API fallisce, i dizionari saranno importati dinamicamente in modalità "dynamic".
1014
- - _Nota_: Questa opzione non influenzerà le funzioni `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` e `useDictionaryDynamic`.
1015
-
1016
- - **outputFormat**:
1017
- - _Tipo_: `'esm' | 'cjs'`
1018
- - _Predefinito_: `'esm'`
1019
- - _Descrizione_: Controlla il formato di output dei dizionari.
1020
- - _Esempio_: `'cjs'`
1021
- - _Nota_: Il formato di output dei dizionari.
1022
-
1023
- - **traversePattern**:
1024
- - _Tipo_: `string[]`
1025
- - _Predefinito_: `['**\/*.{js,ts,mjs,cjs,jsx,tsx}', '!**\/node_modules/**']`
1026
- - _Descrizione_: Pattern che definiscono quali file devono essere attraversati durante l'ottimizzazione.
1027
- - _Esempio_: `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
1028
- - _Nota_: Usare questo per limitare l'ottimizzazione ai file di codice rilevanti e migliorare le prestazioni di build.
1029
- - _Nota_: Questa opzione sarà ignorata se `optimize` è disabilitato.
1030
- - _Nota_: Usare pattern glob.
1183
+ - **mode** :
1184
+ - _Tipo_ : `'auto' | 'manual'`
1185
+ - _Predefinito_ : `'auto'`
1186
+ - _Descrizione_ : Controlla la modalità della build.
1187
+ - _Esempio_ : `'manual'`
1188
+ - _Nota_ : Se 'auto', la build sarà abilitata automaticamente durante la build dell'app.
1189
+ - _Nota_ : Se 'manual', la build verrà attivata solo quando viene eseguito il comando di build.
1190
+ - _Nota_ : Può essere utilizzato per disabilitare la build dei dizionari, ad esempio quando si vuole evitare l'esecuzione in un ambiente Node.js.
1191
+
1192
+ - **optimize** :
1193
+ - _Tipo_ : `boolean`
1194
+ - _Predefinito_ : `undefined`
1195
+ - _Descrizione_ : Controlla se la build deve essere ottimizzata.
1196
+ - _Esempio_ : `process.env.NODE_ENV === 'production'`
1197
+ - _Nota_ : Per impostazione predefinita, l'ottimizzazione della build è indefinita. Se non definita, Intlayer abiliterà l'ottimizzazione della build durante il build della tua applicazione (vite / nextjs / etc). L'impostazione su `true` forzerà l'ottimizzazione della build, anche in modalità di sviluppo. L'impostazione su `false` disabiliterà l'ottimizzazione della build.
1198
+ - _Nota_ : Quando abilitato, Intlayer sostituirà tutte le chiamate ai dizionari per ottimizzare il chunking. In questo modo il bundle finale importerà solo i dizionari utilizzati. Tutte le importazioni rimarranno come importazioni statiche per evitare l'elaborazione asincrona durante il caricamento dei dizionari.
1199
+ - _Nota_ : Intlayer sostituirà tutte le chiamate di `useIntlayer` con la modalità definita dall'opzione `importMode` e `getIntlayer` con `getDictionary`.
1200
+ - _Nota_ : Questa opzione si basa sui plugin `@intlayer/babel` e `@intlayer/swc`.
1201
+ - _Nota_ : Assicurarsi che tutte le chiavi siano dichiarate staticamente nelle chiamate a `useIntlayer`. Ad esempio `useIntlayer('navbar')`.
1202
+
1203
+ - **checkTypes** :
1204
+ - _Tipo_ : `boolean`
1205
+ - _Predefinito_ : `false`
1206
+ - _Descrizione_ : Indica se la build deve controllare i tipi TypeScript e registrare gli errori.
1207
+ - _Nota_ : Questo può rallentare la build.
1208
+
1209
+ - **outputFormat** :
1210
+ - _Tipo_ : `('esm' | 'cjs')[]`
1211
+ - _Predefinito_ : `['cjs', 'esm']`
1212
+ - _Descrizione_ : Controlla il formato di output dei dizionari generati.
1213
+ - _Esempio_ : `'cjs'`
1214
+ - _Nota_ : Il formato di output dei dizionari.
1215
+
1216
+ - **traversePattern** :
1217
+ - _Tipo_ : `string[]`
1218
+ - _Predefinito_ : `['**\/*.{js,ts,mjs,cjs,jsx,tsx}', '!**\/node_modules/**']`
1219
+ - _Descrizione_ : Pattern che definiscono quali file devono essere attraversati durante l'ottimizzazione.
1220
+ - _Esempio_ : `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
1221
+ - _Nota_ : Usare questo per limitare l'ottimizzazione ai file di codice rilevanti e migliorare le prestazioni di build.
1222
+ - _Nota_ : Questa opzione sarà ignorata se `optimize` è disabilitato.
1223
+ - _Nota_ : Usare pattern glob.
1224
+
1225
+ ---restazioni di build.
1226
+
1227
+ - _Nota_: Questa opzione sarà ignorata se `optimize` è disabilitato.
1228
+ - _Nota_: Usare pattern glob.
1031
1229
 
1032
1230
  ---
1033
1231
 
@@ -1046,7 +1244,7 @@ Impostazioni che controllano il compilatore Intlayer, che estrae i dizionari dir
1046
1244
 
1047
1245
  - **dictionaryKeyPrefix**:
1048
1246
  - _Tipo_: `string`
1049
- - _Predefinito_: `'comp-'`
1247
+ - _Predefinito_: `''`
1050
1248
  - _Descrizione_: Prefisso per le chiavi dei dizionari estratti.
1051
1249
  - _Esempio_: `'my-key-'`
1052
1250
  - _Nota_: Quando i dizionari vengono estratti, la chiave viene generata in base al nome del file. Questo prefisso viene aggiunto alla chiave generata per evitare conflitti.
@@ -1070,30 +1268,34 @@ Impostazioni che controllano il compilatore Intlayer, che estrae i dizionari dir
1070
1268
  - _Descrizione_: Pattern che definiscono quali file devono essere esclusi durante l'ottimizzazione.
1071
1269
  - _Esempio_: `['**/node_modules/**', '!**/node_modules/react/**']`
1072
1270
 
1073
- - **outputDir**:
1074
- - _Tipo_: `string`
1075
- - _Predefinito_: `'compiler'`
1076
- - _Descrizione_: La directory in cui verranno memorizzati i dizionari estratti, relativa al percorso di base del progetto.
1077
-
1078
1271
  - **output**:
1079
- - _Type_: `FilePathPattern`
1080
- - _Default_: `({ key }) => 'compiler/${key}.content.json'`
1081
- - _Descrizione_: Definisce il percorso dei file di output. Sostituisce `outputDir`. Gestisce variabili dinamiche come `{{locale}}`, `{{key}}`, `{{fileName}}`, `{{extension}}`, `{{format}}`, `{{dirPath}}`, `{{componentFileName}}`, `{{componentExtension}}`, `{{componentFormat}}`. Può essere impostato come stringa utilizzando il formato `'my/{{var}}/path'` o come funzione.
1082
- - _Nota_: `./**/*` I percorsi sono risolti relativamente al componente. `/**/*` i percorsi sono risolti relativamente al `baseDir` di Intlayer.
1083
- - _Esempio_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
1272
+ - _Tipo_: `FilePathPattern`
1273
+ - _Predefinito_: `undefined`
1274
+ - _Descrizione_: Definisce il percorso dei file di output. Sostituisce `outputDir`. Gestisce variabili dinamiche tramite stringhe template o una funzione. Variabili supportate: `{{fileName}}`, `{{key}}`, `{{locale}}`, `{{extension}}`, `{{componentFileName}}`, `{{componentExtension}}`, `{{format}}`, `{{componentFormat}}` e `{{componentDirPath}}`.
1275
+ - _Nota_: I percorsi `./` sono risolti rispetto alla directory del componente. I percorsi `/` sono risolti rispetto alla radice del progetto (`baseDir`).
1276
+ - _Nota_: L'inserimento della variabile `{{locale}}` nel percorso attiverà la generazione di dizionari separati per lingua.
1277
+ - _Esempio_:
1278
+ - **File multilingue vicino al componente** :
1279
+ - Stringa: `'./{{fileName}}{{extension}}'`
1280
+ - Funzione: `({ fileName, extension }) => \`./${fileName}${extension}\``
1281
+
1282
+ - **File JSON centralizzati per lingua** :
1283
+ - Stringa: `'/locales/{{locale}}/{{key}}.content.json'`
1284
+ - Funzione: `({ key, locale }) => \`/locales/${locale}/${key}.content.json\``
1084
1285
 
1085
1286
  - **noMetadata**:
1086
1287
  - _Tipo_: `boolean`
1087
1288
  - _Predefinito_: `false`
1088
- - _Descrizione_: Indica se i metadati devono essere salvati nel file. Se vero, il compilatore non salverà i metadatati dei dizionari (chiave, contenitore del contenuto).
1289
+ - _Descrizione_: Indica se i metadati devono essere salvati nel file. Se vero, il compilatore non salverà i metadatati dei dizionari (chiave, contenitore del contenuto). Utile per output JSON i18next o ICU MessageFormat per lingua.
1089
1290
  - _Nota_: Utile se utilizzato con il plugin `loadJSON`.
1090
- - _Esempio_: Se `true`:
1291
+ - _Esempio_:
1292
+ Se `true` :
1091
1293
  ```json
1092
1294
  {
1093
1295
  "key": "value"
1094
1296
  }
1095
1297
  ```
1096
- Se `false`:
1298
+ Se `false` :
1097
1299
  ```json
1098
1300
  {
1099
1301
  "key": "value",