@intlayer/docs 9.0.0-canary.9 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1153) hide show
  1. package/blog/ar/internationalization_and_SEO.md +6 -0
  2. package/blog/ar/intlayer_with_i18next.md +4 -4
  3. package/blog/ar/intlayer_with_next-i18next.md +4 -4
  4. package/blog/ar/intlayer_with_next-intl.md +4 -4
  5. package/blog/ar/intlayer_with_react-i18next.md +4 -4
  6. package/blog/ar/intlayer_with_react-intl.md +4 -4
  7. package/blog/ar/intlayer_with_vue-i18n.md +4 -4
  8. package/blog/ar/nextjs-multilingual-seo-comparison.md +6 -0
  9. package/blog/de/internationalization_and_SEO.md +6 -0
  10. package/blog/de/intlayer_with_i18next.md +4 -4
  11. package/blog/de/intlayer_with_next-i18next.md +4 -4
  12. package/blog/de/intlayer_with_next-intl.md +4 -4
  13. package/blog/de/intlayer_with_react-i18next.md +4 -4
  14. package/blog/de/intlayer_with_react-intl.md +4 -4
  15. package/blog/de/intlayer_with_vue-i18n.md +4 -4
  16. package/blog/de/nextjs-multilingual-seo-comparison.md +6 -0
  17. package/blog/en/internationalization_and_SEO.md +6 -0
  18. package/blog/en/intlayer_with_i18next.md +4 -4
  19. package/blog/en/intlayer_with_next-i18next.md +4 -4
  20. package/blog/en/intlayer_with_next-intl.md +4 -4
  21. package/blog/en/intlayer_with_react-i18next.md +4 -4
  22. package/blog/en/intlayer_with_react-intl.md +4 -4
  23. package/blog/en/intlayer_with_vue-i18n.md +4 -4
  24. package/blog/en/nextjs-multilingual-seo-comparison.md +6 -0
  25. package/blog/en/rag_powered_documentation_assistant.md +6 -0
  26. package/blog/en-GB/internationalization_and_SEO.md +6 -0
  27. package/blog/en-GB/intlayer_with_i18next.md +4 -4
  28. package/blog/en-GB/intlayer_with_next-i18next.md +4 -4
  29. package/blog/en-GB/intlayer_with_next-intl.md +4 -4
  30. package/blog/en-GB/intlayer_with_react-i18next.md +4 -4
  31. package/blog/en-GB/intlayer_with_react-intl.md +4 -4
  32. package/blog/en-GB/intlayer_with_vue-i18n.md +4 -4
  33. package/blog/en-GB/nextjs-multilingual-seo-comparison.md +6 -0
  34. package/blog/es/internationalization_and_SEO.md +6 -0
  35. package/blog/es/intlayer_with_i18next.md +4 -4
  36. package/blog/es/intlayer_with_next-i18next.md +4 -4
  37. package/blog/es/intlayer_with_next-intl.md +4 -4
  38. package/blog/es/intlayer_with_react-i18next.md +4 -4
  39. package/blog/es/intlayer_with_react-intl.md +4 -4
  40. package/blog/es/intlayer_with_vue-i18n.md +4 -4
  41. package/blog/es/nextjs-multilingual-seo-comparison.md +6 -0
  42. package/blog/fr/internationalization_and_SEO.md +6 -0
  43. package/blog/fr/intlayer_with_i18next.md +4 -4
  44. package/blog/fr/intlayer_with_next-i18next.md +4 -4
  45. package/blog/fr/intlayer_with_next-intl.md +4 -4
  46. package/blog/fr/intlayer_with_react-i18next.md +4 -4
  47. package/blog/fr/intlayer_with_react-intl.md +4 -4
  48. package/blog/fr/intlayer_with_vue-i18n.md +4 -4
  49. package/blog/fr/nextjs-multilingual-seo-comparison.md +6 -0
  50. package/blog/hi/internationalization_and_SEO.md +6 -0
  51. package/blog/hi/intlayer_with_i18next.md +4 -4
  52. package/blog/hi/intlayer_with_next-i18next.md +4 -4
  53. package/blog/hi/intlayer_with_next-intl.md +4 -4
  54. package/blog/hi/intlayer_with_react-i18next.md +4 -4
  55. package/blog/hi/intlayer_with_react-intl.md +4 -4
  56. package/blog/hi/intlayer_with_vue-i18n.md +4 -4
  57. package/blog/hi/nextjs-multilingual-seo-comparison.md +6 -0
  58. package/blog/id/internationalization_and_SEO.md +6 -0
  59. package/blog/id/intlayer_with_i18next.md +4 -4
  60. package/blog/id/intlayer_with_next-i18next.md +4 -4
  61. package/blog/id/intlayer_with_next-intl.md +4 -4
  62. package/blog/id/intlayer_with_react-i18next.md +4 -4
  63. package/blog/id/intlayer_with_react-intl.md +4 -4
  64. package/blog/id/intlayer_with_vue-i18n.md +4 -4
  65. package/blog/id/nextjs-multilingual-seo-comparison.md +6 -0
  66. package/blog/it/internationalization_and_SEO.md +6 -0
  67. package/blog/it/intlayer_with_i18next.md +4 -4
  68. package/blog/it/intlayer_with_next-i18next.md +4 -4
  69. package/blog/it/intlayer_with_next-intl.md +4 -4
  70. package/blog/it/intlayer_with_react-i18next.md +4 -4
  71. package/blog/it/intlayer_with_react-intl.md +4 -4
  72. package/blog/it/intlayer_with_vue-i18n.md +4 -4
  73. package/blog/it/nextjs-multilingual-seo-comparison.md +6 -0
  74. package/blog/ja/internationalization_and_SEO.md +6 -0
  75. package/blog/ja/intlayer_with_i18next.md +4 -4
  76. package/blog/ja/intlayer_with_next-i18next.md +4 -4
  77. package/blog/ja/intlayer_with_next-intl.md +4 -4
  78. package/blog/ja/intlayer_with_react-i18next.md +4 -4
  79. package/blog/ja/intlayer_with_react-intl.md +4 -4
  80. package/blog/ja/intlayer_with_vue-i18n.md +4 -4
  81. package/blog/ja/nextjs-multilingual-seo-comparison.md +6 -0
  82. package/blog/ko/internationalization_and_SEO.md +6 -0
  83. package/blog/ko/intlayer_with_i18next.md +4 -4
  84. package/blog/ko/intlayer_with_next-i18next.md +4 -4
  85. package/blog/ko/intlayer_with_next-intl.md +4 -4
  86. package/blog/ko/intlayer_with_react-i18next.md +4 -4
  87. package/blog/ko/intlayer_with_react-intl.md +4 -4
  88. package/blog/ko/intlayer_with_vue-i18n.md +4 -4
  89. package/blog/ko/nextjs-multilingual-seo-comparison.md +6 -0
  90. package/blog/pl/internationalization_and_SEO.md +6 -0
  91. package/blog/pl/intlayer_with_i18next.md +4 -4
  92. package/blog/pl/intlayer_with_next-i18next.md +4 -4
  93. package/blog/pl/intlayer_with_next-intl.md +4 -4
  94. package/blog/pl/intlayer_with_react-i18next.md +4 -4
  95. package/blog/pl/intlayer_with_react-intl.md +4 -4
  96. package/blog/pl/intlayer_with_vue-i18n.md +4 -4
  97. package/blog/pl/nextjs-multilingual-seo-comparison.md +6 -0
  98. package/blog/pt/internationalization_and_SEO.md +6 -0
  99. package/blog/pt/intlayer_with_i18next.md +4 -4
  100. package/blog/pt/intlayer_with_next-i18next.md +4 -4
  101. package/blog/pt/intlayer_with_next-intl.md +4 -4
  102. package/blog/pt/intlayer_with_react-i18next.md +4 -4
  103. package/blog/pt/intlayer_with_react-intl.md +4 -4
  104. package/blog/pt/intlayer_with_vue-i18n.md +4 -4
  105. package/blog/pt/nextjs-multilingual-seo-comparison.md +6 -0
  106. package/blog/ru/internationalization_and_SEO.md +6 -0
  107. package/blog/ru/intlayer_with_i18next.md +4 -4
  108. package/blog/ru/intlayer_with_next-i18next.md +4 -4
  109. package/blog/ru/intlayer_with_next-intl.md +4 -4
  110. package/blog/ru/intlayer_with_react-i18next.md +4 -4
  111. package/blog/ru/intlayer_with_react-intl.md +4 -4
  112. package/blog/ru/intlayer_with_vue-i18n.md +4 -4
  113. package/blog/ru/nextjs-multilingual-seo-comparison.md +6 -0
  114. package/blog/tr/internationalization_and_SEO.md +6 -0
  115. package/blog/tr/intlayer_with_i18next.md +4 -4
  116. package/blog/tr/intlayer_with_next-i18next.md +4 -4
  117. package/blog/tr/intlayer_with_next-intl.md +4 -4
  118. package/blog/tr/intlayer_with_react-i18next.md +4 -4
  119. package/blog/tr/intlayer_with_react-intl.md +4 -4
  120. package/blog/tr/intlayer_with_vue-i18n.md +4 -4
  121. package/blog/tr/nextjs-multilingual-seo-comparison.md +6 -0
  122. package/blog/uk/internationalization_and_SEO.md +6 -0
  123. package/blog/uk/intlayer_with_i18next.md +4 -4
  124. package/blog/uk/intlayer_with_next-i18next.md +4 -4
  125. package/blog/uk/intlayer_with_next-intl.md +4 -4
  126. package/blog/uk/intlayer_with_react-i18next.md +4 -4
  127. package/blog/uk/intlayer_with_react-intl.md +4 -4
  128. package/blog/uk/intlayer_with_vue-i18n.md +4 -4
  129. package/blog/uk/nextjs-multilingual-seo-comparison.md +6 -0
  130. package/blog/vi/internationalization_and_SEO.md +6 -0
  131. package/blog/vi/intlayer_with_i18next.md +4 -4
  132. package/blog/vi/intlayer_with_next-i18next.md +4 -4
  133. package/blog/vi/intlayer_with_next-intl.md +4 -4
  134. package/blog/vi/intlayer_with_react-i18next.md +4 -4
  135. package/blog/vi/intlayer_with_react-intl.md +4 -4
  136. package/blog/vi/intlayer_with_vue-i18n.md +4 -4
  137. package/blog/vi/nextjs-multilingual-seo-comparison.md +6 -0
  138. package/blog/zh/internationalization_and_SEO.md +6 -0
  139. package/blog/zh/nextjs-multilingual-seo-comparison.md +6 -0
  140. package/dist/cjs/authors.cjs.map +1 -1
  141. package/dist/cjs/blog.cjs.map +1 -1
  142. package/dist/cjs/common.cjs +2 -1
  143. package/dist/cjs/common.cjs.map +1 -1
  144. package/dist/cjs/doc.cjs.map +1 -1
  145. package/dist/cjs/frequentQuestions.cjs.map +1 -1
  146. package/dist/cjs/generated/blog.entry.cjs +0 -1
  147. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  148. package/dist/cjs/generated/docs.entry.cjs +60 -1
  149. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  150. package/dist/cjs/generated/frequentQuestions.entry.cjs +0 -1
  151. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  152. package/dist/cjs/generated/legal.entry.cjs +0 -1
  153. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  154. package/dist/cjs/legal.cjs.map +1 -1
  155. package/dist/esm/authors.mjs.map +1 -1
  156. package/dist/esm/blog.mjs.map +1 -1
  157. package/dist/esm/common.mjs +2 -1
  158. package/dist/esm/common.mjs.map +1 -1
  159. package/dist/esm/doc.mjs.map +1 -1
  160. package/dist/esm/frequentQuestions.mjs.map +1 -1
  161. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  162. package/dist/esm/generated/docs.entry.mjs +60 -0
  163. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  164. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  165. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  166. package/dist/esm/legal.mjs.map +1 -1
  167. package/dist/types/authors.d.ts +16 -8
  168. package/dist/types/authors.d.ts.map +1 -1
  169. package/dist/types/blog.d.ts +0 -1
  170. package/dist/types/blog.d.ts.map +1 -1
  171. package/dist/types/common.d.ts +0 -1
  172. package/dist/types/common.d.ts.map +1 -1
  173. package/dist/types/doc.d.ts +0 -1
  174. package/dist/types/doc.d.ts.map +1 -1
  175. package/dist/types/frequentQuestions.d.ts +0 -1
  176. package/dist/types/frequentQuestions.d.ts.map +1 -1
  177. package/dist/types/generated/blog.entry.d.ts +0 -1
  178. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  179. package/dist/types/generated/docs.entry.d.ts +3 -1
  180. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  181. package/dist/types/generated/frequentQuestions.entry.d.ts +0 -1
  182. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  183. package/dist/types/generated/legal.entry.d.ts +0 -1
  184. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  185. package/dist/types/legal.d.ts +0 -1
  186. package/dist/types/legal.d.ts.map +1 -1
  187. package/docs/ar/bundle_optimization.md +16 -0
  188. package/docs/ar/cli/index.md +1 -1
  189. package/docs/ar/cli/scan.md +2 -2
  190. package/docs/ar/configuration.md +42 -1
  191. package/docs/ar/how_works_intlayer.md +2 -2
  192. package/docs/ar/intlayer_CMS.md +14 -122
  193. package/docs/ar/intlayer_with_adonisjs.md +4 -4
  194. package/docs/ar/intlayer_with_analog.md +4 -4
  195. package/docs/ar/intlayer_with_angular_19.md +4 -4
  196. package/docs/ar/intlayer_with_angular_21.md +4 -4
  197. package/docs/ar/intlayer_with_astro_lit.md +7 -7
  198. package/docs/ar/intlayer_with_astro_preact.md +4 -4
  199. package/docs/ar/intlayer_with_astro_react.md +4 -4
  200. package/docs/ar/intlayer_with_astro_solid.md +4 -4
  201. package/docs/ar/intlayer_with_astro_svelte.md +4 -4
  202. package/docs/ar/intlayer_with_astro_vanilla.md +4 -4
  203. package/docs/ar/intlayer_with_astro_vue.md +4 -4
  204. package/docs/ar/intlayer_with_create_react_app.md +4 -4
  205. package/docs/ar/intlayer_with_express.md +4 -4
  206. package/docs/ar/intlayer_with_fastify.md +4 -4
  207. package/docs/ar/intlayer_with_hono.md +4 -4
  208. package/docs/ar/intlayer_with_lynx+react.md +4 -4
  209. package/docs/ar/intlayer_with_nestjs.md +4 -4
  210. package/docs/ar/intlayer_with_next-i18next.md +4 -4
  211. package/docs/ar/intlayer_with_nextjs_14.md +4 -4
  212. package/docs/ar/intlayer_with_nextjs_15.md +6 -8
  213. package/docs/ar/intlayer_with_nextjs_16.md +6 -8
  214. package/docs/ar/intlayer_with_nextjs_compiler.md +5 -7
  215. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +6 -8
  216. package/docs/ar/intlayer_with_nextjs_page_router.md +4 -4
  217. package/docs/ar/intlayer_with_nuxt.md +5 -5
  218. package/docs/ar/intlayer_with_react_native+expo.md +4 -4
  219. package/docs/ar/intlayer_with_react_router_v7.md +5 -5
  220. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +5 -5
  221. package/docs/ar/intlayer_with_svelte_kit.md +4 -4
  222. package/docs/ar/intlayer_with_tanstack+solid.md +5 -5
  223. package/docs/ar/intlayer_with_tanstack.md +6 -7
  224. package/docs/ar/intlayer_with_vite+lit.md +4 -4
  225. package/docs/ar/intlayer_with_vite+preact.md +5 -5
  226. package/docs/ar/intlayer_with_vite+react.md +5 -5
  227. package/docs/ar/intlayer_with_vite+react_compiler.md +5 -5
  228. package/docs/ar/intlayer_with_vite+solid.md +5 -5
  229. package/docs/ar/intlayer_with_vite+svelte.md +4 -4
  230. package/docs/ar/intlayer_with_vite+vanilla.md +4 -4
  231. package/docs/ar/intlayer_with_vite+vue.md +5 -5
  232. package/docs/ar/live-sync.md +174 -0
  233. package/docs/ar/migration_from_i18next_to_intlayer.md +4 -4
  234. package/docs/ar/migration_from_next-i18next_to_intlayer.md +4 -4
  235. package/docs/ar/migration_from_next-intl_to_intlayer.md +5 -7
  236. package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  237. package/docs/ar/migration_from_react-i18next_to_intlayer.md +5 -7
  238. package/docs/ar/migration_from_vue-i18n_to_intlayer.md +4 -4
  239. package/docs/ar/releases/v9.md +128 -33
  240. package/docs/ar/self_hosting.md +350 -0
  241. package/docs/bn/bundle_optimization.md +16 -0
  242. package/docs/bn/cli/index.md +1 -1
  243. package/docs/bn/cli/scan.md +2 -2
  244. package/docs/bn/configuration.md +45 -1
  245. package/docs/bn/intlayer_CMS.md +570 -0
  246. package/docs/bn/intlayer_with_angular_21.md +4 -4
  247. package/docs/bn/intlayer_with_fastify.md +4 -4
  248. package/docs/bn/intlayer_with_hono.md +4 -4
  249. package/docs/bn/intlayer_with_vite+lit.md +4 -4
  250. package/docs/bn/intlayer_with_vite+vanilla.md +4 -4
  251. package/docs/bn/releases/v9.md +349 -0
  252. package/docs/cs/bundle_optimization.md +16 -0
  253. package/docs/cs/cli/index.md +1 -1
  254. package/docs/cs/cli/scan.md +2 -2
  255. package/docs/cs/configuration.md +45 -1
  256. package/docs/cs/intlayer_with_angular_21.md +4 -4
  257. package/docs/cs/intlayer_with_fastify.md +4 -4
  258. package/docs/cs/intlayer_with_hono.md +4 -4
  259. package/docs/cs/intlayer_with_vite+lit.md +4 -4
  260. package/docs/cs/intlayer_with_vite+vanilla.md +4 -4
  261. package/docs/cs/releases/v9.md +349 -0
  262. package/docs/de/bundle_optimization.md +16 -0
  263. package/docs/de/cli/index.md +1 -1
  264. package/docs/de/cli/scan.md +2 -2
  265. package/docs/de/configuration.md +42 -1
  266. package/docs/de/how_works_intlayer.md +2 -2
  267. package/docs/de/intlayer_CMS.md +86 -100
  268. package/docs/de/intlayer_with_adonisjs.md +4 -4
  269. package/docs/de/intlayer_with_analog.md +4 -4
  270. package/docs/de/intlayer_with_angular_19.md +4 -4
  271. package/docs/de/intlayer_with_angular_21.md +4 -4
  272. package/docs/de/intlayer_with_astro_lit.md +7 -7
  273. package/docs/de/intlayer_with_astro_preact.md +4 -4
  274. package/docs/de/intlayer_with_astro_react.md +4 -4
  275. package/docs/de/intlayer_with_astro_solid.md +4 -4
  276. package/docs/de/intlayer_with_astro_svelte.md +4 -4
  277. package/docs/de/intlayer_with_astro_vanilla.md +4 -4
  278. package/docs/de/intlayer_with_astro_vue.md +4 -4
  279. package/docs/de/intlayer_with_create_react_app.md +4 -4
  280. package/docs/de/intlayer_with_express.md +4 -4
  281. package/docs/de/intlayer_with_fastify.md +4 -4
  282. package/docs/de/intlayer_with_hono.md +4 -4
  283. package/docs/de/intlayer_with_lynx+react.md +4 -4
  284. package/docs/de/intlayer_with_nestjs.md +4 -4
  285. package/docs/de/intlayer_with_next-i18next.md +4 -4
  286. package/docs/de/intlayer_with_nextjs_14.md +4 -4
  287. package/docs/de/intlayer_with_nextjs_15.md +6 -8
  288. package/docs/de/intlayer_with_nextjs_16.md +6 -8
  289. package/docs/de/intlayer_with_nextjs_no_locale_path.md +6 -8
  290. package/docs/de/intlayer_with_nextjs_page_router.md +4 -4
  291. package/docs/de/intlayer_with_nuxt.md +5 -5
  292. package/docs/de/intlayer_with_react_native+expo.md +4 -4
  293. package/docs/de/intlayer_with_react_router_v7.md +5 -5
  294. package/docs/de/intlayer_with_svelte_kit.md +4 -4
  295. package/docs/de/intlayer_with_tanstack+solid.md +5 -5
  296. package/docs/de/intlayer_with_tanstack.md +6 -7
  297. package/docs/de/intlayer_with_vite+lit.md +4 -4
  298. package/docs/de/intlayer_with_vite+preact.md +5 -5
  299. package/docs/de/intlayer_with_vite+react.md +5 -5
  300. package/docs/de/intlayer_with_vite+react_compiler.md +5 -5
  301. package/docs/de/intlayer_with_vite+solid.md +5 -5
  302. package/docs/de/intlayer_with_vite+vanilla.md +4 -4
  303. package/docs/de/intlayer_with_vite+vue.md +5 -5
  304. package/docs/de/live-sync.md +174 -0
  305. package/docs/de/migration_from_i18next_to_intlayer.md +4 -4
  306. package/docs/de/migration_from_next-i18next_to_intlayer.md +4 -4
  307. package/docs/de/migration_from_next-intl_to_intlayer.md +5 -7
  308. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  309. package/docs/de/migration_from_react-i18next_to_intlayer.md +5 -7
  310. package/docs/de/migration_from_vue-i18n_to_intlayer.md +4 -4
  311. package/docs/de/releases/v9.md +131 -33
  312. package/docs/de/self_hosting.md +350 -0
  313. package/docs/en/analytics.md +222 -0
  314. package/docs/en/bundle_optimization.md +16 -0
  315. package/docs/en/cli/index.md +1 -1
  316. package/docs/en/cli/scan.md +2 -2
  317. package/docs/en/configuration.md +42 -1
  318. package/docs/en/dictionary/content_file.md +2 -2
  319. package/docs/en/how_works_intlayer.md +2 -2
  320. package/docs/en/intlayer_CMS.md +143 -107
  321. package/docs/en/intlayer_with_adonisjs.md +4 -4
  322. package/docs/en/intlayer_with_analog.md +4 -4
  323. package/docs/en/intlayer_with_angular_19.md +4 -4
  324. package/docs/en/intlayer_with_angular_21.md +4 -4
  325. package/docs/en/intlayer_with_astro.md +4 -4
  326. package/docs/en/intlayer_with_astro_lit.md +7 -7
  327. package/docs/en/intlayer_with_astro_preact.md +4 -4
  328. package/docs/en/intlayer_with_astro_react.md +4 -4
  329. package/docs/en/intlayer_with_astro_solid.md +4 -4
  330. package/docs/en/intlayer_with_astro_svelte.md +4 -4
  331. package/docs/en/intlayer_with_astro_vanilla.md +4 -4
  332. package/docs/en/intlayer_with_astro_vue.md +4 -4
  333. package/docs/en/intlayer_with_create_react_app.md +4 -4
  334. package/docs/en/intlayer_with_express.md +4 -4
  335. package/docs/en/intlayer_with_fastify.md +4 -4
  336. package/docs/en/intlayer_with_hono.md +4 -4
  337. package/docs/en/intlayer_with_lynx+react.md +4 -4
  338. package/docs/en/intlayer_with_nestjs.md +4 -4
  339. package/docs/en/intlayer_with_next-i18next.md +4 -4
  340. package/docs/en/intlayer_with_nextjs_14.md +4 -4
  341. package/docs/en/intlayer_with_nextjs_15.md +5 -7
  342. package/docs/en/intlayer_with_nextjs_16.md +6 -8
  343. package/docs/en/intlayer_with_nextjs_compiler.md +6 -8
  344. package/docs/en/intlayer_with_nextjs_no_locale_path.md +6 -8
  345. package/docs/en/intlayer_with_nextjs_page_router.md +4 -4
  346. package/docs/en/intlayer_with_nuxt.md +5 -5
  347. package/docs/en/intlayer_with_react_native+expo.md +4 -4
  348. package/docs/en/intlayer_with_react_router_v7.md +5 -5
  349. package/docs/en/intlayer_with_svelte_kit.md +4 -4
  350. package/docs/en/intlayer_with_tanstack+solid.md +5 -5
  351. package/docs/en/intlayer_with_tanstack.md +6 -7
  352. package/docs/en/intlayer_with_vite+lit.md +4 -4
  353. package/docs/en/intlayer_with_vite+preact.md +5 -5
  354. package/docs/en/intlayer_with_vite+react.md +5 -5
  355. package/docs/en/intlayer_with_vite+react_compiler.md +5 -5
  356. package/docs/en/intlayer_with_vite+solid.md +5 -5
  357. package/docs/en/intlayer_with_vite+svelte.md +4 -4
  358. package/docs/en/intlayer_with_vite+vanilla.md +4 -4
  359. package/docs/en/intlayer_with_vite+vue.md +5 -5
  360. package/docs/en/live-sync.md +184 -0
  361. package/docs/en/migration_from_i18next_to_intlayer.md +4 -4
  362. package/docs/en/migration_from_next-i18next_to_intlayer.md +4 -4
  363. package/docs/en/migration_from_next-intl_to_intlayer.md +5 -7
  364. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  365. package/docs/en/migration_from_react-i18next_to_intlayer.md +5 -7
  366. package/docs/en/migration_from_vue-i18n_to_intlayer.md +4 -4
  367. package/docs/en/releases/v9.md +124 -29
  368. package/docs/en/self_hosting.md +310 -0
  369. package/docs/en-GB/bundle_optimization.md +16 -0
  370. package/docs/en-GB/cli/index.md +1 -1
  371. package/docs/en-GB/cli/scan.md +2 -2
  372. package/docs/en-GB/configuration.md +42 -1
  373. package/docs/en-GB/how_works_intlayer.md +2 -2
  374. package/docs/en-GB/intlayer_CMS.md +14 -122
  375. package/docs/en-GB/intlayer_with_adonisjs.md +4 -4
  376. package/docs/en-GB/intlayer_with_analog.md +4 -4
  377. package/docs/en-GB/intlayer_with_angular_19.md +4 -4
  378. package/docs/en-GB/intlayer_with_angular_21.md +4 -4
  379. package/docs/en-GB/intlayer_with_astro_lit.md +7 -7
  380. package/docs/en-GB/intlayer_with_astro_preact.md +4 -4
  381. package/docs/en-GB/intlayer_with_astro_react.md +4 -4
  382. package/docs/en-GB/intlayer_with_astro_solid.md +4 -4
  383. package/docs/en-GB/intlayer_with_astro_svelte.md +4 -4
  384. package/docs/en-GB/intlayer_with_astro_vanilla.md +4 -4
  385. package/docs/en-GB/intlayer_with_astro_vue.md +4 -4
  386. package/docs/en-GB/intlayer_with_create_react_app.md +8 -8
  387. package/docs/en-GB/intlayer_with_express.md +4 -4
  388. package/docs/en-GB/intlayer_with_fastify.md +4 -4
  389. package/docs/en-GB/intlayer_with_hono.md +4 -4
  390. package/docs/en-GB/intlayer_with_lynx+react.md +8 -8
  391. package/docs/en-GB/intlayer_with_nestjs.md +4 -4
  392. package/docs/en-GB/intlayer_with_next-i18next.md +4 -4
  393. package/docs/en-GB/intlayer_with_nextjs_14.md +4 -4
  394. package/docs/en-GB/intlayer_with_nextjs_15.md +6 -8
  395. package/docs/en-GB/intlayer_with_nextjs_16.md +6 -8
  396. package/docs/en-GB/intlayer_with_nextjs_compiler.md +5 -7
  397. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +6 -8
  398. package/docs/en-GB/intlayer_with_nextjs_page_router.md +4 -4
  399. package/docs/en-GB/intlayer_with_nuxt.md +5 -5
  400. package/docs/en-GB/intlayer_with_react_native+expo.md +4 -4
  401. package/docs/en-GB/intlayer_with_react_router_v7.md +5 -5
  402. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +5 -5
  403. package/docs/en-GB/intlayer_with_svelte_kit.md +4 -4
  404. package/docs/en-GB/intlayer_with_tanstack+solid.md +5 -5
  405. package/docs/en-GB/intlayer_with_tanstack.md +6 -7
  406. package/docs/en-GB/intlayer_with_vite+lit.md +4 -4
  407. package/docs/en-GB/intlayer_with_vite+preact.md +5 -5
  408. package/docs/en-GB/intlayer_with_vite+react.md +5 -5
  409. package/docs/en-GB/intlayer_with_vite+react_compiler.md +5 -5
  410. package/docs/en-GB/intlayer_with_vite+solid.md +5 -5
  411. package/docs/en-GB/intlayer_with_vite+svelte.md +4 -4
  412. package/docs/en-GB/intlayer_with_vite+vanilla.md +4 -4
  413. package/docs/en-GB/intlayer_with_vite+vue.md +5 -5
  414. package/docs/en-GB/live-sync.md +173 -0
  415. package/docs/en-GB/migration_from_i18next_to_intlayer.md +4 -4
  416. package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +4 -4
  417. package/docs/en-GB/migration_from_next-intl_to_intlayer.md +5 -7
  418. package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  419. package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +5 -7
  420. package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +4 -4
  421. package/docs/en-GB/releases/v9.md +117 -26
  422. package/docs/en-GB/self_hosting.md +350 -0
  423. package/docs/es/bundle_optimization.md +16 -0
  424. package/docs/es/cli/index.md +1 -1
  425. package/docs/es/cli/scan.md +2 -2
  426. package/docs/es/configuration.md +42 -1
  427. package/docs/es/how_works_intlayer.md +2 -2
  428. package/docs/es/intlayer_CMS.md +85 -104
  429. package/docs/es/intlayer_with_adonisjs.md +4 -4
  430. package/docs/es/intlayer_with_analog.md +4 -4
  431. package/docs/es/intlayer_with_angular_19.md +4 -4
  432. package/docs/es/intlayer_with_angular_21.md +4 -4
  433. package/docs/es/intlayer_with_astro_lit.md +7 -7
  434. package/docs/es/intlayer_with_astro_preact.md +4 -4
  435. package/docs/es/intlayer_with_astro_react.md +4 -4
  436. package/docs/es/intlayer_with_astro_solid.md +4 -4
  437. package/docs/es/intlayer_with_astro_svelte.md +4 -4
  438. package/docs/es/intlayer_with_astro_vanilla.md +4 -4
  439. package/docs/es/intlayer_with_astro_vue.md +4 -4
  440. package/docs/es/intlayer_with_create_react_app.md +4 -4
  441. package/docs/es/intlayer_with_express.md +4 -4
  442. package/docs/es/intlayer_with_fastify.md +4 -4
  443. package/docs/es/intlayer_with_hono.md +4 -4
  444. package/docs/es/intlayer_with_lynx+react.md +4 -4
  445. package/docs/es/intlayer_with_nestjs.md +4 -4
  446. package/docs/es/intlayer_with_next-i18next.md +4 -4
  447. package/docs/es/intlayer_with_nextjs_14.md +4 -4
  448. package/docs/es/intlayer_with_nextjs_15.md +6 -8
  449. package/docs/es/intlayer_with_nextjs_16.md +6 -8
  450. package/docs/es/intlayer_with_nextjs_compiler.md +5 -7
  451. package/docs/es/intlayer_with_nextjs_no_locale_path.md +6 -8
  452. package/docs/es/intlayer_with_nextjs_page_router.md +4 -4
  453. package/docs/es/intlayer_with_nuxt.md +5 -5
  454. package/docs/es/intlayer_with_react_native+expo.md +4 -4
  455. package/docs/es/intlayer_with_react_router_v7.md +5 -5
  456. package/docs/es/intlayer_with_svelte_kit.md +4 -4
  457. package/docs/es/intlayer_with_tanstack+solid.md +5 -5
  458. package/docs/es/intlayer_with_tanstack.md +6 -7
  459. package/docs/es/intlayer_with_vite+lit.md +4 -4
  460. package/docs/es/intlayer_with_vite+preact.md +5 -5
  461. package/docs/es/intlayer_with_vite+react.md +5 -5
  462. package/docs/es/intlayer_with_vite+react_compiler.md +5 -5
  463. package/docs/es/intlayer_with_vite+solid.md +5 -5
  464. package/docs/es/intlayer_with_vite+svelte.md +4 -4
  465. package/docs/es/intlayer_with_vite+vanilla.md +4 -4
  466. package/docs/es/intlayer_with_vite+vue.md +5 -5
  467. package/docs/es/live-sync.md +176 -0
  468. package/docs/es/migration_from_i18next_to_intlayer.md +4 -4
  469. package/docs/es/migration_from_next-i18next_to_intlayer.md +4 -4
  470. package/docs/es/migration_from_next-intl_to_intlayer.md +5 -7
  471. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  472. package/docs/es/migration_from_react-i18next_to_intlayer.md +5 -7
  473. package/docs/es/migration_from_vue-i18n_to_intlayer.md +4 -4
  474. package/docs/es/releases/v9.md +131 -33
  475. package/docs/es/self_hosting.md +350 -0
  476. package/docs/fr/bundle_optimization.md +16 -0
  477. package/docs/fr/cli/index.md +1 -1
  478. package/docs/fr/cli/scan.md +2 -2
  479. package/docs/fr/configuration.md +42 -1
  480. package/docs/fr/how_works_intlayer.md +2 -2
  481. package/docs/fr/intlayer_CMS.md +86 -100
  482. package/docs/fr/intlayer_with_adonisjs.md +4 -4
  483. package/docs/fr/intlayer_with_analog.md +4 -4
  484. package/docs/fr/intlayer_with_angular_19.md +4 -4
  485. package/docs/fr/intlayer_with_angular_21.md +4 -4
  486. package/docs/fr/intlayer_with_astro_lit.md +7 -7
  487. package/docs/fr/intlayer_with_astro_preact.md +4 -4
  488. package/docs/fr/intlayer_with_astro_react.md +4 -4
  489. package/docs/fr/intlayer_with_astro_solid.md +4 -4
  490. package/docs/fr/intlayer_with_astro_svelte.md +4 -4
  491. package/docs/fr/intlayer_with_astro_vanilla.md +4 -4
  492. package/docs/fr/intlayer_with_astro_vue.md +4 -4
  493. package/docs/fr/intlayer_with_create_react_app.md +4 -4
  494. package/docs/fr/intlayer_with_express.md +4 -4
  495. package/docs/fr/intlayer_with_fastify.md +4 -4
  496. package/docs/fr/intlayer_with_hono.md +4 -4
  497. package/docs/fr/intlayer_with_lynx+react.md +4 -4
  498. package/docs/fr/intlayer_with_nestjs.md +4 -4
  499. package/docs/fr/intlayer_with_next-i18next.md +4 -4
  500. package/docs/fr/intlayer_with_nextjs_14.md +4 -4
  501. package/docs/fr/intlayer_with_nextjs_15.md +6 -8
  502. package/docs/fr/intlayer_with_nextjs_16.md +6 -8
  503. package/docs/fr/intlayer_with_nextjs_compiler.md +5 -7
  504. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +6 -8
  505. package/docs/fr/intlayer_with_nextjs_page_router.md +4 -4
  506. package/docs/fr/intlayer_with_nuxt.md +5 -5
  507. package/docs/fr/intlayer_with_react_native+expo.md +4 -4
  508. package/docs/fr/intlayer_with_react_router_v7.md +5 -5
  509. package/docs/fr/intlayer_with_svelte_kit.md +4 -4
  510. package/docs/fr/intlayer_with_tanstack+solid.md +5 -5
  511. package/docs/fr/intlayer_with_tanstack.md +6 -7
  512. package/docs/fr/intlayer_with_vite+lit.md +4 -4
  513. package/docs/fr/intlayer_with_vite+preact.md +5 -5
  514. package/docs/fr/intlayer_with_vite+react.md +5 -5
  515. package/docs/fr/intlayer_with_vite+react_compiler.md +5 -5
  516. package/docs/fr/intlayer_with_vite+solid.md +5 -5
  517. package/docs/fr/intlayer_with_vite+svelte.md +4 -4
  518. package/docs/fr/intlayer_with_vite+vanilla.md +4 -4
  519. package/docs/fr/intlayer_with_vite+vue.md +5 -5
  520. package/docs/fr/live-sync.md +174 -0
  521. package/docs/fr/migration_from_i18next_to_intlayer.md +4 -4
  522. package/docs/fr/migration_from_next-i18next_to_intlayer.md +4 -4
  523. package/docs/fr/migration_from_next-intl_to_intlayer.md +5 -7
  524. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  525. package/docs/fr/migration_from_react-i18next_to_intlayer.md +5 -7
  526. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +4 -4
  527. package/docs/fr/releases/v9.md +131 -25
  528. package/docs/fr/self_hosting.md +350 -0
  529. package/docs/hi/bundle_optimization.md +16 -0
  530. package/docs/hi/cli/index.md +1 -1
  531. package/docs/hi/cli/scan.md +2 -2
  532. package/docs/hi/configuration.md +42 -1
  533. package/docs/hi/how_works_intlayer.md +2 -2
  534. package/docs/hi/intlayer_CMS.md +14 -122
  535. package/docs/hi/intlayer_with_adonisjs.md +4 -4
  536. package/docs/hi/intlayer_with_analog.md +4 -4
  537. package/docs/hi/intlayer_with_angular_19.md +4 -4
  538. package/docs/hi/intlayer_with_angular_21.md +4 -4
  539. package/docs/hi/intlayer_with_astro_vue.md +4 -4
  540. package/docs/hi/intlayer_with_create_react_app.md +4 -4
  541. package/docs/hi/intlayer_with_express.md +4 -4
  542. package/docs/hi/intlayer_with_fastify.md +4 -4
  543. package/docs/hi/intlayer_with_hono.md +4 -4
  544. package/docs/hi/intlayer_with_lynx+react.md +4 -4
  545. package/docs/hi/intlayer_with_nestjs.md +4 -4
  546. package/docs/hi/intlayer_with_next-i18next.md +4 -4
  547. package/docs/hi/intlayer_with_nextjs_14.md +4 -4
  548. package/docs/hi/intlayer_with_nextjs_15.md +6 -8
  549. package/docs/hi/intlayer_with_nextjs_16.md +6 -8
  550. package/docs/hi/intlayer_with_nextjs_compiler.md +4 -4
  551. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +6 -8
  552. package/docs/hi/intlayer_with_nextjs_page_router.md +4 -4
  553. package/docs/hi/intlayer_with_nuxt.md +5 -5
  554. package/docs/hi/intlayer_with_react_native+expo.md +4 -4
  555. package/docs/hi/intlayer_with_react_router_v7.md +5 -5
  556. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +5 -5
  557. package/docs/hi/intlayer_with_svelte_kit.md +4 -4
  558. package/docs/hi/intlayer_with_tanstack+solid.md +5 -5
  559. package/docs/hi/intlayer_with_tanstack.md +6 -7
  560. package/docs/hi/intlayer_with_vite+lit.md +4 -4
  561. package/docs/hi/intlayer_with_vite+preact.md +5 -5
  562. package/docs/hi/intlayer_with_vite+react.md +5 -5
  563. package/docs/hi/intlayer_with_vite+react_compiler.md +5 -5
  564. package/docs/hi/intlayer_with_vite+solid.md +5 -5
  565. package/docs/hi/intlayer_with_vite+svelte.md +4 -4
  566. package/docs/hi/intlayer_with_vite+vanilla.md +4 -4
  567. package/docs/hi/intlayer_with_vite+vue.md +5 -5
  568. package/docs/hi/live-sync.md +174 -0
  569. package/docs/hi/migration_from_i18next_to_intlayer.md +4 -4
  570. package/docs/hi/migration_from_next-i18next_to_intlayer.md +4 -4
  571. package/docs/hi/migration_from_next-intl_to_intlayer.md +5 -7
  572. package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  573. package/docs/hi/migration_from_react-i18next_to_intlayer.md +5 -7
  574. package/docs/hi/migration_from_vue-i18n_to_intlayer.md +4 -4
  575. package/docs/hi/packages/intlayer/index.md +4 -4
  576. package/docs/hi/releases/v9.md +129 -33
  577. package/docs/hi/self_hosting.md +350 -0
  578. package/docs/id/bundle_optimization.md +16 -0
  579. package/docs/id/cli/index.md +1 -1
  580. package/docs/id/cli/scan.md +2 -2
  581. package/docs/id/configuration.md +42 -1
  582. package/docs/id/how_works_intlayer.md +2 -2
  583. package/docs/id/intlayer_CMS.md +5 -139
  584. package/docs/id/intlayer_with_adonisjs.md +4 -4
  585. package/docs/id/intlayer_with_analog.md +4 -4
  586. package/docs/id/intlayer_with_angular_19.md +4 -4
  587. package/docs/id/intlayer_with_angular_21.md +4 -4
  588. package/docs/id/intlayer_with_astro_lit.md +7 -7
  589. package/docs/id/intlayer_with_astro_preact.md +4 -4
  590. package/docs/id/intlayer_with_astro_react.md +4 -4
  591. package/docs/id/intlayer_with_astro_solid.md +4 -4
  592. package/docs/id/intlayer_with_astro_svelte.md +4 -4
  593. package/docs/id/intlayer_with_astro_vanilla.md +4 -4
  594. package/docs/id/intlayer_with_astro_vue.md +4 -4
  595. package/docs/id/intlayer_with_create_react_app.md +4 -4
  596. package/docs/id/intlayer_with_express.md +4 -4
  597. package/docs/id/intlayer_with_fastify.md +4 -4
  598. package/docs/id/intlayer_with_hono.md +4 -4
  599. package/docs/id/intlayer_with_lynx+react.md +4 -4
  600. package/docs/id/intlayer_with_nestjs.md +4 -4
  601. package/docs/id/intlayer_with_next-i18next.md +4 -4
  602. package/docs/id/intlayer_with_nextjs_14.md +4 -4
  603. package/docs/id/intlayer_with_nextjs_15.md +5 -7
  604. package/docs/id/intlayer_with_nextjs_16.md +6 -8
  605. package/docs/id/intlayer_with_nextjs_compiler.md +4 -4
  606. package/docs/id/intlayer_with_nextjs_no_locale_path.md +6 -8
  607. package/docs/id/intlayer_with_nextjs_page_router.md +4 -4
  608. package/docs/id/intlayer_with_nuxt.md +5 -5
  609. package/docs/id/intlayer_with_react_native+expo.md +4 -4
  610. package/docs/id/intlayer_with_react_router_v7.md +5 -5
  611. package/docs/id/intlayer_with_svelte_kit.md +4 -4
  612. package/docs/id/intlayer_with_tanstack+solid.md +5 -5
  613. package/docs/id/intlayer_with_tanstack.md +6 -7
  614. package/docs/id/intlayer_with_vite+lit.md +4 -4
  615. package/docs/id/intlayer_with_vite+preact.md +5 -5
  616. package/docs/id/intlayer_with_vite+react.md +5 -5
  617. package/docs/id/intlayer_with_vite+react_compiler.md +5 -5
  618. package/docs/id/intlayer_with_vite+solid.md +5 -5
  619. package/docs/id/intlayer_with_vite+svelte.md +4 -4
  620. package/docs/id/intlayer_with_vite+vanilla.md +4 -4
  621. package/docs/id/intlayer_with_vite+vue.md +5 -5
  622. package/docs/id/live-sync.md +185 -0
  623. package/docs/id/migration_from_i18next_to_intlayer.md +4 -4
  624. package/docs/id/migration_from_next-i18next_to_intlayer.md +4 -4
  625. package/docs/id/migration_from_next-intl_to_intlayer.md +5 -7
  626. package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  627. package/docs/id/migration_from_react-i18next_to_intlayer.md +5 -7
  628. package/docs/id/migration_from_vue-i18n_to_intlayer.md +4 -4
  629. package/docs/id/releases/v9.md +101 -33
  630. package/docs/id/self_hosting.md +350 -0
  631. package/docs/it/bundle_optimization.md +16 -0
  632. package/docs/it/cli/index.md +1 -1
  633. package/docs/it/cli/scan.md +2 -2
  634. package/docs/it/configuration.md +42 -1
  635. package/docs/it/how_works_intlayer.md +2 -2
  636. package/docs/it/intlayer_CMS.md +87 -94
  637. package/docs/it/intlayer_with_adonisjs.md +4 -4
  638. package/docs/it/intlayer_with_analog.md +4 -4
  639. package/docs/it/intlayer_with_angular_19.md +4 -4
  640. package/docs/it/intlayer_with_angular_21.md +4 -4
  641. package/docs/it/intlayer_with_astro_lit.md +7 -7
  642. package/docs/it/intlayer_with_astro_preact.md +4 -4
  643. package/docs/it/intlayer_with_astro_react.md +4 -4
  644. package/docs/it/intlayer_with_astro_solid.md +4 -4
  645. package/docs/it/intlayer_with_astro_svelte.md +4 -4
  646. package/docs/it/intlayer_with_astro_vanilla.md +4 -4
  647. package/docs/it/intlayer_with_astro_vue.md +4 -4
  648. package/docs/it/intlayer_with_create_react_app.md +4 -4
  649. package/docs/it/intlayer_with_express.md +4 -4
  650. package/docs/it/intlayer_with_fastify.md +4 -4
  651. package/docs/it/intlayer_with_hono.md +4 -4
  652. package/docs/it/intlayer_with_lynx+react.md +4 -4
  653. package/docs/it/intlayer_with_nestjs.md +4 -4
  654. package/docs/it/intlayer_with_next-i18next.md +4 -4
  655. package/docs/it/intlayer_with_nextjs_14.md +4 -4
  656. package/docs/it/intlayer_with_nextjs_15.md +6 -8
  657. package/docs/it/intlayer_with_nextjs_16.md +6 -8
  658. package/docs/it/intlayer_with_nextjs_compiler.md +5 -7
  659. package/docs/it/intlayer_with_nextjs_no_locale_path.md +6 -8
  660. package/docs/it/intlayer_with_nextjs_page_router.md +4 -4
  661. package/docs/it/intlayer_with_nuxt.md +5 -5
  662. package/docs/it/intlayer_with_react_native+expo.md +4 -4
  663. package/docs/it/intlayer_with_react_router_v7.md +5 -5
  664. package/docs/it/intlayer_with_svelte_kit.md +4 -4
  665. package/docs/it/intlayer_with_tanstack+solid.md +5 -5
  666. package/docs/it/intlayer_with_tanstack.md +6 -7
  667. package/docs/it/intlayer_with_vite+lit.md +4 -4
  668. package/docs/it/intlayer_with_vite+preact.md +5 -5
  669. package/docs/it/intlayer_with_vite+react.md +6 -6
  670. package/docs/it/intlayer_with_vite+react_compiler.md +5 -5
  671. package/docs/it/intlayer_with_vite+solid.md +5 -5
  672. package/docs/it/intlayer_with_vite+svelte.md +4 -4
  673. package/docs/it/intlayer_with_vite+vanilla.md +4 -4
  674. package/docs/it/intlayer_with_vite+vue.md +5 -5
  675. package/docs/it/live-sync.md +174 -0
  676. package/docs/it/migration_from_i18next_to_intlayer.md +4 -4
  677. package/docs/it/migration_from_next-i18next_to_intlayer.md +4 -4
  678. package/docs/it/migration_from_next-intl_to_intlayer.md +4 -4
  679. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  680. package/docs/it/migration_from_react-i18next_to_intlayer.md +5 -7
  681. package/docs/it/migration_from_vue-i18n_to_intlayer.md +4 -4
  682. package/docs/it/releases/v9.md +131 -33
  683. package/docs/it/self_hosting.md +350 -0
  684. package/docs/ja/bundle_optimization.md +16 -0
  685. package/docs/ja/cli/index.md +1 -1
  686. package/docs/ja/cli/scan.md +2 -2
  687. package/docs/ja/configuration.md +42 -1
  688. package/docs/ja/how_works_intlayer.md +2 -2
  689. package/docs/ja/intlayer_CMS.md +149 -102
  690. package/docs/ja/intlayer_with_adonisjs.md +4 -4
  691. package/docs/ja/intlayer_with_analog.md +4 -4
  692. package/docs/ja/intlayer_with_angular_19.md +4 -4
  693. package/docs/ja/intlayer_with_angular_21.md +4 -4
  694. package/docs/ja/intlayer_with_astro_lit.md +7 -7
  695. package/docs/ja/intlayer_with_astro_preact.md +4 -4
  696. package/docs/ja/intlayer_with_astro_react.md +4 -4
  697. package/docs/ja/intlayer_with_astro_solid.md +4 -4
  698. package/docs/ja/intlayer_with_astro_svelte.md +4 -4
  699. package/docs/ja/intlayer_with_astro_vanilla.md +4 -4
  700. package/docs/ja/intlayer_with_astro_vue.md +4 -4
  701. package/docs/ja/intlayer_with_create_react_app.md +4 -4
  702. package/docs/ja/intlayer_with_express.md +4 -4
  703. package/docs/ja/intlayer_with_fastify.md +4 -4
  704. package/docs/ja/intlayer_with_hono.md +4 -4
  705. package/docs/ja/intlayer_with_lynx+react.md +4 -4
  706. package/docs/ja/intlayer_with_nestjs.md +4 -4
  707. package/docs/ja/intlayer_with_next-i18next.md +4 -4
  708. package/docs/ja/intlayer_with_nextjs_14.md +4 -4
  709. package/docs/ja/intlayer_with_nextjs_15.md +6 -8
  710. package/docs/ja/intlayer_with_nextjs_16.md +6 -8
  711. package/docs/ja/intlayer_with_nextjs_compiler.md +4 -4
  712. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +6 -8
  713. package/docs/ja/intlayer_with_nextjs_page_router.md +4 -4
  714. package/docs/ja/intlayer_with_nuxt.md +5 -5
  715. package/docs/ja/intlayer_with_react_native+expo.md +4 -4
  716. package/docs/ja/intlayer_with_tanstack+solid.md +5 -5
  717. package/docs/ja/intlayer_with_tanstack.md +6 -7
  718. package/docs/ja/intlayer_with_vite+lit.md +4 -4
  719. package/docs/ja/intlayer_with_vite+preact.md +5 -5
  720. package/docs/ja/intlayer_with_vite+react_compiler.md +5 -5
  721. package/docs/ja/intlayer_with_vite+solid.md +5 -5
  722. package/docs/ja/intlayer_with_vite+svelte.md +4 -4
  723. package/docs/ja/intlayer_with_vite+vanilla.md +4 -4
  724. package/docs/ja/intlayer_with_vite+vue.md +5 -5
  725. package/docs/ja/live-sync.md +185 -0
  726. package/docs/ja/migration_from_i18next_to_intlayer.md +4 -4
  727. package/docs/ja/migration_from_next-i18next_to_intlayer.md +4 -4
  728. package/docs/ja/migration_from_next-intl_to_intlayer.md +5 -7
  729. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  730. package/docs/ja/migration_from_react-i18next_to_intlayer.md +5 -7
  731. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +4 -4
  732. package/docs/ja/releases/v9.md +101 -33
  733. package/docs/ja/self_hosting.md +350 -0
  734. package/docs/ko/bundle_optimization.md +16 -0
  735. package/docs/ko/cli/index.md +1 -1
  736. package/docs/ko/cli/scan.md +2 -2
  737. package/docs/ko/configuration.md +42 -1
  738. package/docs/ko/how_works_intlayer.md +2 -2
  739. package/docs/ko/intlayer_CMS.md +147 -100
  740. package/docs/ko/intlayer_with_adonisjs.md +4 -4
  741. package/docs/ko/intlayer_with_analog.md +4 -4
  742. package/docs/ko/intlayer_with_angular_19.md +4 -4
  743. package/docs/ko/intlayer_with_angular_21.md +4 -4
  744. package/docs/ko/intlayer_with_astro_vue.md +4 -4
  745. package/docs/ko/intlayer_with_create_react_app.md +4 -4
  746. package/docs/ko/intlayer_with_express.md +4 -4
  747. package/docs/ko/intlayer_with_fastify.md +4 -4
  748. package/docs/ko/intlayer_with_hono.md +4 -4
  749. package/docs/ko/intlayer_with_nestjs.md +4 -4
  750. package/docs/ko/intlayer_with_next-i18next.md +4 -4
  751. package/docs/ko/intlayer_with_nextjs_15.md +6 -8
  752. package/docs/ko/intlayer_with_nextjs_16.md +6 -8
  753. package/docs/ko/intlayer_with_nextjs_compiler.md +5 -7
  754. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +6 -8
  755. package/docs/ko/intlayer_with_nextjs_page_router.md +4 -4
  756. package/docs/ko/intlayer_with_nuxt.md +5 -5
  757. package/docs/ko/intlayer_with_react_native+expo.md +4 -4
  758. package/docs/ko/intlayer_with_react_router_v7.md +5 -5
  759. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +5 -5
  760. package/docs/ko/intlayer_with_svelte_kit.md +4 -4
  761. package/docs/ko/intlayer_with_tanstack+solid.md +5 -5
  762. package/docs/ko/intlayer_with_tanstack.md +6 -7
  763. package/docs/ko/intlayer_with_vite+lit.md +4 -4
  764. package/docs/ko/intlayer_with_vite+preact.md +5 -5
  765. package/docs/ko/intlayer_with_vite+react_compiler.md +5 -5
  766. package/docs/ko/intlayer_with_vite+solid.md +5 -5
  767. package/docs/ko/intlayer_with_vite+svelte.md +4 -4
  768. package/docs/ko/intlayer_with_vite+vanilla.md +4 -4
  769. package/docs/ko/intlayer_with_vite+vue.md +5 -5
  770. package/docs/ko/live-sync.md +187 -0
  771. package/docs/ko/migration_from_i18next_to_intlayer.md +4 -4
  772. package/docs/ko/migration_from_next-i18next_to_intlayer.md +4 -4
  773. package/docs/ko/migration_from_next-intl_to_intlayer.md +5 -7
  774. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  775. package/docs/ko/migration_from_react-i18next_to_intlayer.md +5 -7
  776. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +4 -4
  777. package/docs/ko/releases/v9.md +100 -33
  778. package/docs/ko/self_hosting.md +350 -0
  779. package/docs/nl/bundle_optimization.md +16 -0
  780. package/docs/nl/cli/index.md +1 -1
  781. package/docs/nl/cli/scan.md +2 -2
  782. package/docs/nl/configuration.md +45 -1
  783. package/docs/nl/intlayer_with_angular_21.md +4 -4
  784. package/docs/nl/intlayer_with_fastify.md +4 -4
  785. package/docs/nl/intlayer_with_hono.md +4 -4
  786. package/docs/nl/intlayer_with_vite+lit.md +4 -4
  787. package/docs/nl/intlayer_with_vite+vanilla.md +4 -4
  788. package/docs/nl/releases/v9.md +349 -0
  789. package/docs/pl/bundle_optimization.md +16 -0
  790. package/docs/pl/cli/index.md +1 -1
  791. package/docs/pl/cli/scan.md +2 -2
  792. package/docs/pl/configuration.md +45 -1
  793. package/docs/pl/how_works_intlayer.md +2 -2
  794. package/docs/pl/intlayer_CMS.md +14 -133
  795. package/docs/pl/intlayer_with_adonisjs.md +4 -4
  796. package/docs/pl/intlayer_with_analog.md +4 -4
  797. package/docs/pl/intlayer_with_angular_19.md +4 -4
  798. package/docs/pl/intlayer_with_angular_21.md +4 -4
  799. package/docs/pl/intlayer_with_astro_lit.md +7 -7
  800. package/docs/pl/intlayer_with_astro_preact.md +4 -4
  801. package/docs/pl/intlayer_with_astro_react.md +4 -4
  802. package/docs/pl/intlayer_with_astro_solid.md +4 -4
  803. package/docs/pl/intlayer_with_astro_svelte.md +4 -4
  804. package/docs/pl/intlayer_with_astro_vanilla.md +4 -4
  805. package/docs/pl/intlayer_with_astro_vue.md +4 -4
  806. package/docs/pl/intlayer_with_create_react_app.md +4 -4
  807. package/docs/pl/intlayer_with_express.md +4 -4
  808. package/docs/pl/intlayer_with_fastify.md +4 -4
  809. package/docs/pl/intlayer_with_hono.md +4 -4
  810. package/docs/pl/intlayer_with_lynx+react.md +4 -4
  811. package/docs/pl/intlayer_with_nestjs.md +4 -4
  812. package/docs/pl/intlayer_with_next-i18next.md +4 -4
  813. package/docs/pl/intlayer_with_nextjs_14.md +4 -4
  814. package/docs/pl/intlayer_with_nextjs_15.md +5 -7
  815. package/docs/pl/intlayer_with_nextjs_16.md +6 -8
  816. package/docs/pl/intlayer_with_nextjs_compiler.md +4 -4
  817. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +6 -8
  818. package/docs/pl/intlayer_with_nextjs_page_router.md +4 -4
  819. package/docs/pl/intlayer_with_nuxt.md +5 -5
  820. package/docs/pl/intlayer_with_react_native+expo.md +4 -4
  821. package/docs/pl/intlayer_with_react_router_v7.md +5 -5
  822. package/docs/pl/intlayer_with_svelte_kit.md +4 -4
  823. package/docs/pl/intlayer_with_tanstack+solid.md +5 -5
  824. package/docs/pl/intlayer_with_tanstack.md +6 -7
  825. package/docs/pl/intlayer_with_vite+lit.md +4 -4
  826. package/docs/pl/intlayer_with_vite+preact.md +5 -5
  827. package/docs/pl/intlayer_with_vite+react.md +5 -5
  828. package/docs/pl/intlayer_with_vite+react_compiler.md +5 -5
  829. package/docs/pl/intlayer_with_vite+solid.md +5 -5
  830. package/docs/pl/intlayer_with_vite+svelte.md +4 -4
  831. package/docs/pl/intlayer_with_vite+vanilla.md +4 -4
  832. package/docs/pl/intlayer_with_vite+vue.md +5 -5
  833. package/docs/pl/live-sync.md +185 -0
  834. package/docs/pl/migration_from_next-i18next_to_intlayer.md +4 -4
  835. package/docs/pl/migration_from_next-intl_to_intlayer.md +5 -7
  836. package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  837. package/docs/pl/migration_from_react-i18next_to_intlayer.md +5 -7
  838. package/docs/pl/releases/v9.md +128 -33
  839. package/docs/pl/self_hosting.md +350 -0
  840. package/docs/pt/bundle_optimization.md +16 -0
  841. package/docs/pt/cli/index.md +1 -1
  842. package/docs/pt/cli/scan.md +2 -2
  843. package/docs/pt/configuration.md +45 -1
  844. package/docs/pt/how_works_intlayer.md +2 -2
  845. package/docs/pt/intlayer_CMS.md +87 -109
  846. package/docs/pt/intlayer_with_adonisjs.md +4 -4
  847. package/docs/pt/intlayer_with_analog.md +4 -4
  848. package/docs/pt/intlayer_with_angular_19.md +4 -4
  849. package/docs/pt/intlayer_with_angular_21.md +4 -4
  850. package/docs/pt/intlayer_with_astro_lit.md +7 -7
  851. package/docs/pt/intlayer_with_astro_preact.md +4 -4
  852. package/docs/pt/intlayer_with_astro_react.md +4 -4
  853. package/docs/pt/intlayer_with_astro_solid.md +4 -4
  854. package/docs/pt/intlayer_with_astro_svelte.md +4 -4
  855. package/docs/pt/intlayer_with_astro_vanilla.md +4 -4
  856. package/docs/pt/intlayer_with_astro_vue.md +4 -4
  857. package/docs/pt/intlayer_with_create_react_app.md +4 -4
  858. package/docs/pt/intlayer_with_express.md +4 -4
  859. package/docs/pt/intlayer_with_fastify.md +4 -4
  860. package/docs/pt/intlayer_with_hono.md +4 -4
  861. package/docs/pt/intlayer_with_lynx+react.md +4 -4
  862. package/docs/pt/intlayer_with_nestjs.md +4 -4
  863. package/docs/pt/intlayer_with_next-i18next.md +4 -4
  864. package/docs/pt/intlayer_with_nextjs_14.md +4 -4
  865. package/docs/pt/intlayer_with_nextjs_15.md +6 -8
  866. package/docs/pt/intlayer_with_nextjs_16.md +6 -8
  867. package/docs/pt/intlayer_with_nextjs_compiler.md +5 -7
  868. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +6 -8
  869. package/docs/pt/intlayer_with_nextjs_page_router.md +4 -4
  870. package/docs/pt/intlayer_with_nuxt.md +5 -5
  871. package/docs/pt/intlayer_with_react_native+expo.md +4 -4
  872. package/docs/pt/intlayer_with_react_router_v7.md +5 -5
  873. package/docs/pt/intlayer_with_svelte_kit.md +4 -4
  874. package/docs/pt/intlayer_with_tanstack+solid.md +5 -5
  875. package/docs/pt/intlayer_with_tanstack.md +6 -7
  876. package/docs/pt/intlayer_with_vite+lit.md +4 -4
  877. package/docs/pt/intlayer_with_vite+preact.md +5 -5
  878. package/docs/pt/intlayer_with_vite+react.md +5 -5
  879. package/docs/pt/intlayer_with_vite+react_compiler.md +5 -5
  880. package/docs/pt/intlayer_with_vite+solid.md +5 -5
  881. package/docs/pt/intlayer_with_vite+svelte.md +4 -4
  882. package/docs/pt/intlayer_with_vite+vanilla.md +4 -4
  883. package/docs/pt/intlayer_with_vite+vue.md +5 -5
  884. package/docs/pt/live-sync.md +174 -0
  885. package/docs/pt/migration_from_i18next_to_intlayer.md +4 -4
  886. package/docs/pt/migration_from_next-i18next_to_intlayer.md +4 -4
  887. package/docs/pt/migration_from_next-intl_to_intlayer.md +5 -7
  888. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  889. package/docs/pt/migration_from_react-i18next_to_intlayer.md +5 -7
  890. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +4 -4
  891. package/docs/pt/releases/v9.md +131 -33
  892. package/docs/pt/self_hosting.md +350 -0
  893. package/docs/ru/bundle_optimization.md +16 -0
  894. package/docs/ru/cli/index.md +1 -1
  895. package/docs/ru/cli/scan.md +2 -2
  896. package/docs/ru/configuration.md +42 -1
  897. package/docs/ru/how_works_intlayer.md +2 -2
  898. package/docs/ru/intlayer_CMS.md +149 -102
  899. package/docs/ru/intlayer_with_adonisjs.md +4 -4
  900. package/docs/ru/intlayer_with_analog.md +4 -4
  901. package/docs/ru/intlayer_with_angular_19.md +4 -4
  902. package/docs/ru/intlayer_with_angular_21.md +4 -4
  903. package/docs/ru/intlayer_with_astro_vue.md +4 -4
  904. package/docs/ru/intlayer_with_create_react_app.md +4 -4
  905. package/docs/ru/intlayer_with_express.md +4 -4
  906. package/docs/ru/intlayer_with_fastify.md +4 -4
  907. package/docs/ru/intlayer_with_hono.md +4 -4
  908. package/docs/ru/intlayer_with_lynx+react.md +4 -4
  909. package/docs/ru/intlayer_with_nestjs.md +4 -4
  910. package/docs/ru/intlayer_with_next-i18next.md +4 -4
  911. package/docs/ru/intlayer_with_nextjs_14.md +4 -4
  912. package/docs/ru/intlayer_with_nextjs_15.md +6 -8
  913. package/docs/ru/intlayer_with_nextjs_16.md +6 -8
  914. package/docs/ru/intlayer_with_nextjs_compiler.md +5 -7
  915. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +6 -8
  916. package/docs/ru/intlayer_with_nextjs_page_router.md +4 -4
  917. package/docs/ru/intlayer_with_nuxt.md +5 -5
  918. package/docs/ru/intlayer_with_react_native+expo.md +4 -4
  919. package/docs/ru/intlayer_with_react_router_v7.md +5 -5
  920. package/docs/ru/intlayer_with_svelte_kit.md +4 -4
  921. package/docs/ru/intlayer_with_tanstack+solid.md +5 -5
  922. package/docs/ru/intlayer_with_tanstack.md +6 -7
  923. package/docs/ru/intlayer_with_vite+lit.md +4 -4
  924. package/docs/ru/intlayer_with_vite+preact.md +5 -5
  925. package/docs/ru/intlayer_with_vite+react.md +5 -5
  926. package/docs/ru/intlayer_with_vite+react_compiler.md +5 -5
  927. package/docs/ru/intlayer_with_vite+solid.md +5 -5
  928. package/docs/ru/intlayer_with_vite+svelte.md +4 -4
  929. package/docs/ru/intlayer_with_vite+vanilla.md +4 -4
  930. package/docs/ru/intlayer_with_vite+vue.md +5 -5
  931. package/docs/ru/live-sync.md +185 -0
  932. package/docs/ru/migration_from_i18next_to_intlayer.md +4 -4
  933. package/docs/ru/migration_from_next-i18next_to_intlayer.md +4 -4
  934. package/docs/ru/migration_from_next-intl_to_intlayer.md +5 -7
  935. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  936. package/docs/ru/migration_from_react-i18next_to_intlayer.md +5 -7
  937. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +4 -4
  938. package/docs/ru/releases/v9.md +129 -33
  939. package/docs/ru/self_hosting.md +350 -0
  940. package/docs/tr/bundle_optimization.md +16 -0
  941. package/docs/tr/cli/index.md +1 -1
  942. package/docs/tr/cli/scan.md +2 -2
  943. package/docs/tr/configuration.md +42 -1
  944. package/docs/tr/how_works_intlayer.md +2 -2
  945. package/docs/tr/intlayer_CMS.md +14 -121
  946. package/docs/tr/intlayer_with_adonisjs.md +4 -4
  947. package/docs/tr/intlayer_with_analog.md +4 -4
  948. package/docs/tr/intlayer_with_angular_19.md +4 -4
  949. package/docs/tr/intlayer_with_angular_21.md +4 -4
  950. package/docs/tr/intlayer_with_astro_lit.md +7 -7
  951. package/docs/tr/intlayer_with_astro_preact.md +4 -4
  952. package/docs/tr/intlayer_with_astro_react.md +4 -4
  953. package/docs/tr/intlayer_with_astro_solid.md +4 -4
  954. package/docs/tr/intlayer_with_astro_svelte.md +4 -4
  955. package/docs/tr/intlayer_with_astro_vanilla.md +4 -4
  956. package/docs/tr/intlayer_with_astro_vue.md +4 -4
  957. package/docs/tr/intlayer_with_create_react_app.md +4 -4
  958. package/docs/tr/intlayer_with_express.md +4 -4
  959. package/docs/tr/intlayer_with_fastify.md +4 -4
  960. package/docs/tr/intlayer_with_hono.md +4 -4
  961. package/docs/tr/intlayer_with_lynx+react.md +4 -4
  962. package/docs/tr/intlayer_with_nestjs.md +4 -4
  963. package/docs/tr/intlayer_with_next-i18next.md +4 -4
  964. package/docs/tr/intlayer_with_nextjs_14.md +4 -4
  965. package/docs/tr/intlayer_with_nextjs_15.md +6 -8
  966. package/docs/tr/intlayer_with_nextjs_16.md +6 -8
  967. package/docs/tr/intlayer_with_nextjs_compiler.md +4 -4
  968. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +6 -8
  969. package/docs/tr/intlayer_with_nextjs_page_router.md +4 -4
  970. package/docs/tr/intlayer_with_nuxt.md +5 -5
  971. package/docs/tr/intlayer_with_react_native+expo.md +4 -4
  972. package/docs/tr/intlayer_with_react_router_v7.md +5 -5
  973. package/docs/tr/intlayer_with_svelte_kit.md +4 -4
  974. package/docs/tr/intlayer_with_tanstack+solid.md +5 -5
  975. package/docs/tr/intlayer_with_tanstack.md +6 -7
  976. package/docs/tr/intlayer_with_vite+lit.md +4 -4
  977. package/docs/tr/intlayer_with_vite+preact.md +5 -5
  978. package/docs/tr/intlayer_with_vite+react.md +5 -5
  979. package/docs/tr/intlayer_with_vite+react_compiler.md +5 -5
  980. package/docs/tr/intlayer_with_vite+solid.md +5 -5
  981. package/docs/tr/intlayer_with_vite+svelte.md +4 -4
  982. package/docs/tr/intlayer_with_vite+vanilla.md +4 -4
  983. package/docs/tr/intlayer_with_vite+vue.md +5 -5
  984. package/docs/tr/live-sync.md +173 -0
  985. package/docs/tr/migration_from_i18next_to_intlayer.md +4 -4
  986. package/docs/tr/migration_from_next-i18next_to_intlayer.md +4 -4
  987. package/docs/tr/migration_from_next-intl_to_intlayer.md +5 -7
  988. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  989. package/docs/tr/migration_from_react-i18next_to_intlayer.md +5 -7
  990. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +4 -4
  991. package/docs/tr/releases/v9.md +116 -33
  992. package/docs/tr/self_hosting.md +350 -0
  993. package/docs/uk/bundle_optimization.md +16 -0
  994. package/docs/uk/cli/index.md +1 -1
  995. package/docs/uk/cli/scan.md +2 -2
  996. package/docs/uk/configuration.md +42 -1
  997. package/docs/uk/how_works_intlayer.md +2 -2
  998. package/docs/uk/intlayer_CMS.md +14 -133
  999. package/docs/uk/intlayer_with_adonisjs.md +4 -4
  1000. package/docs/uk/intlayer_with_analog.md +4 -4
  1001. package/docs/uk/intlayer_with_angular_19.md +4 -4
  1002. package/docs/uk/intlayer_with_angular_21.md +4 -4
  1003. package/docs/uk/intlayer_with_astro_lit.md +7 -7
  1004. package/docs/uk/intlayer_with_astro_preact.md +4 -4
  1005. package/docs/uk/intlayer_with_astro_react.md +4 -4
  1006. package/docs/uk/intlayer_with_astro_solid.md +4 -4
  1007. package/docs/uk/intlayer_with_astro_svelte.md +4 -4
  1008. package/docs/uk/intlayer_with_astro_vanilla.md +4 -4
  1009. package/docs/uk/intlayer_with_astro_vue.md +4 -4
  1010. package/docs/uk/intlayer_with_create_react_app.md +4 -4
  1011. package/docs/uk/intlayer_with_express.md +4 -4
  1012. package/docs/uk/intlayer_with_fastify.md +4 -4
  1013. package/docs/uk/intlayer_with_hono.md +4 -4
  1014. package/docs/uk/intlayer_with_lynx+react.md +4 -4
  1015. package/docs/uk/intlayer_with_nestjs.md +4 -4
  1016. package/docs/uk/intlayer_with_next-i18next.md +4 -4
  1017. package/docs/uk/intlayer_with_nextjs_14.md +4 -4
  1018. package/docs/uk/intlayer_with_nextjs_15.md +6 -8
  1019. package/docs/uk/intlayer_with_nextjs_16.md +6 -8
  1020. package/docs/uk/intlayer_with_nextjs_compiler.md +4 -4
  1021. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +6 -8
  1022. package/docs/uk/intlayer_with_nextjs_page_router.md +4 -4
  1023. package/docs/uk/intlayer_with_nuxt.md +5 -5
  1024. package/docs/uk/intlayer_with_react_native+expo.md +4 -4
  1025. package/docs/uk/intlayer_with_react_router_v7.md +5 -5
  1026. package/docs/uk/intlayer_with_svelte_kit.md +4 -4
  1027. package/docs/uk/intlayer_with_tanstack+solid.md +5 -5
  1028. package/docs/uk/intlayer_with_tanstack.md +6 -7
  1029. package/docs/uk/intlayer_with_vite+lit.md +4 -4
  1030. package/docs/uk/intlayer_with_vite+preact.md +5 -5
  1031. package/docs/uk/intlayer_with_vite+react.md +5 -5
  1032. package/docs/uk/intlayer_with_vite+react_compiler.md +5 -5
  1033. package/docs/uk/intlayer_with_vite+solid.md +5 -5
  1034. package/docs/uk/intlayer_with_vite+svelte.md +4 -4
  1035. package/docs/uk/intlayer_with_vite+vanilla.md +4 -4
  1036. package/docs/uk/intlayer_with_vite+vue.md +5 -5
  1037. package/docs/uk/live-sync.md +185 -0
  1038. package/docs/uk/migration_from_i18next_to_intlayer.md +4 -4
  1039. package/docs/uk/migration_from_next-i18next_to_intlayer.md +4 -4
  1040. package/docs/uk/migration_from_next-intl_to_intlayer.md +5 -7
  1041. package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  1042. package/docs/uk/migration_from_react-i18next_to_intlayer.md +5 -7
  1043. package/docs/uk/migration_from_vue-i18n_to_intlayer.md +4 -4
  1044. package/docs/uk/releases/v9.md +128 -33
  1045. package/docs/uk/self_hosting.md +350 -0
  1046. package/docs/ur/bundle_optimization.md +16 -0
  1047. package/docs/ur/cli/index.md +1 -1
  1048. package/docs/ur/cli/scan.md +2 -2
  1049. package/docs/ur/configuration.md +45 -1
  1050. package/docs/ur/intlayer_with_angular_21.md +4 -4
  1051. package/docs/ur/intlayer_with_fastify.md +4 -4
  1052. package/docs/ur/intlayer_with_hono.md +4 -4
  1053. package/docs/ur/intlayer_with_vite+lit.md +4 -4
  1054. package/docs/ur/intlayer_with_vite+vanilla.md +4 -4
  1055. package/docs/vi/bundle_optimization.md +16 -0
  1056. package/docs/vi/cli/index.md +1 -1
  1057. package/docs/vi/cli/scan.md +2 -2
  1058. package/docs/vi/configuration.md +42 -1
  1059. package/docs/vi/how_works_intlayer.md +2 -2
  1060. package/docs/vi/intlayer_CMS.md +5 -139
  1061. package/docs/vi/intlayer_with_adonisjs.md +4 -4
  1062. package/docs/vi/intlayer_with_analog.md +4 -4
  1063. package/docs/vi/intlayer_with_angular_19.md +4 -4
  1064. package/docs/vi/intlayer_with_angular_21.md +4 -4
  1065. package/docs/vi/intlayer_with_astro_lit.md +7 -7
  1066. package/docs/vi/intlayer_with_astro_preact.md +4 -4
  1067. package/docs/vi/intlayer_with_astro_react.md +4 -4
  1068. package/docs/vi/intlayer_with_astro_solid.md +4 -4
  1069. package/docs/vi/intlayer_with_astro_svelte.md +4 -4
  1070. package/docs/vi/intlayer_with_astro_vanilla.md +4 -4
  1071. package/docs/vi/intlayer_with_astro_vue.md +4 -4
  1072. package/docs/vi/intlayer_with_create_react_app.md +4 -4
  1073. package/docs/vi/intlayer_with_express.md +4 -4
  1074. package/docs/vi/intlayer_with_fastify.md +4 -4
  1075. package/docs/vi/intlayer_with_hono.md +4 -4
  1076. package/docs/vi/intlayer_with_lynx+react.md +4 -4
  1077. package/docs/vi/intlayer_with_nestjs.md +4 -4
  1078. package/docs/vi/intlayer_with_next-i18next.md +4 -4
  1079. package/docs/vi/intlayer_with_nextjs_14.md +4 -4
  1080. package/docs/vi/intlayer_with_nextjs_15.md +5 -7
  1081. package/docs/vi/intlayer_with_nextjs_16.md +6 -8
  1082. package/docs/vi/intlayer_with_nextjs_compiler.md +4 -4
  1083. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +6 -8
  1084. package/docs/vi/intlayer_with_nextjs_page_router.md +4 -4
  1085. package/docs/vi/intlayer_with_nuxt.md +5 -5
  1086. package/docs/vi/intlayer_with_react_native+expo.md +4 -4
  1087. package/docs/vi/intlayer_with_react_router_v7.md +5 -5
  1088. package/docs/vi/intlayer_with_svelte_kit.md +4 -4
  1089. package/docs/vi/intlayer_with_tanstack+solid.md +5 -5
  1090. package/docs/vi/intlayer_with_tanstack.md +6 -7
  1091. package/docs/vi/intlayer_with_vite+lit.md +4 -4
  1092. package/docs/vi/intlayer_with_vite+preact.md +5 -5
  1093. package/docs/vi/intlayer_with_vite+react.md +5 -5
  1094. package/docs/vi/intlayer_with_vite+react_compiler.md +5 -5
  1095. package/docs/vi/intlayer_with_vite+solid.md +5 -5
  1096. package/docs/vi/intlayer_with_vite+svelte.md +4 -4
  1097. package/docs/vi/intlayer_with_vite+vanilla.md +4 -4
  1098. package/docs/vi/intlayer_with_vite+vue.md +5 -5
  1099. package/docs/vi/live-sync.md +185 -0
  1100. package/docs/vi/migration_from_i18next_to_intlayer.md +4 -4
  1101. package/docs/vi/migration_from_next-i18next_to_intlayer.md +4 -4
  1102. package/docs/vi/migration_from_next-intl_to_intlayer.md +5 -7
  1103. package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  1104. package/docs/vi/migration_from_react-i18next_to_intlayer.md +5 -7
  1105. package/docs/vi/migration_from_vue-i18n_to_intlayer.md +4 -4
  1106. package/docs/vi/releases/v9.md +101 -33
  1107. package/docs/vi/self_hosting.md +350 -0
  1108. package/docs/zh/bundle_optimization.md +16 -0
  1109. package/docs/zh/cli/index.md +1 -1
  1110. package/docs/zh/cli/scan.md +2 -2
  1111. package/docs/zh/configuration.md +42 -1
  1112. package/docs/zh/how_works_intlayer.md +2 -2
  1113. package/docs/zh/intlayer_CMS.md +5 -129
  1114. package/docs/zh/intlayer_with_adonisjs.md +4 -4
  1115. package/docs/zh/intlayer_with_angular_21.md +4 -4
  1116. package/docs/zh/intlayer_with_astro.md +4 -4
  1117. package/docs/zh/intlayer_with_astro_lit.md +7 -7
  1118. package/docs/zh/intlayer_with_astro_preact.md +4 -4
  1119. package/docs/zh/intlayer_with_astro_react.md +4 -4
  1120. package/docs/zh/intlayer_with_astro_solid.md +4 -4
  1121. package/docs/zh/intlayer_with_astro_svelte.md +4 -4
  1122. package/docs/zh/intlayer_with_astro_vanilla.md +4 -4
  1123. package/docs/zh/intlayer_with_astro_vue.md +4 -4
  1124. package/docs/zh/intlayer_with_create_react_app.md +4 -4
  1125. package/docs/zh/intlayer_with_express.md +4 -4
  1126. package/docs/zh/intlayer_with_fastify.md +4 -4
  1127. package/docs/zh/intlayer_with_hono.md +4 -4
  1128. package/docs/zh/intlayer_with_nestjs.md +4 -4
  1129. package/docs/zh/intlayer_with_next-i18next.md +4 -4
  1130. package/docs/zh/intlayer_with_nextjs_14.md +4 -4
  1131. package/docs/zh/intlayer_with_nextjs_15.md +6 -8
  1132. package/docs/zh/intlayer_with_nextjs_16.md +6 -8
  1133. package/docs/zh/intlayer_with_nextjs_compiler.md +5 -7
  1134. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +6 -8
  1135. package/docs/zh/intlayer_with_nextjs_page_router.md +4 -4
  1136. package/docs/zh/intlayer_with_react_native+expo.md +4 -4
  1137. package/docs/zh/intlayer_with_react_router_v7.md +5 -5
  1138. package/docs/zh/intlayer_with_vite+solid.md +5 -5
  1139. package/docs/zh/intlayer_with_vite+svelte.md +4 -4
  1140. package/docs/zh/intlayer_with_vite+vue.md +5 -5
  1141. package/docs/zh/live-sync.md +175 -0
  1142. package/docs/zh/migration_from_i18next_to_intlayer.md +4 -4
  1143. package/docs/zh/migration_from_next-i18next_to_intlayer.md +4 -4
  1144. package/docs/zh/migration_from_next-intl_to_intlayer.md +5 -7
  1145. package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  1146. package/docs/zh/migration_from_react-i18next_to_intlayer.md +5 -7
  1147. package/docs/zh/migration_from_vue-i18n_to_intlayer.md +4 -4
  1148. package/docs/zh/releases/v9.md +101 -25
  1149. package/docs/zh/self_hosting.md +350 -0
  1150. package/docs/zh-TW/bundle_optimization.md +16 -0
  1151. package/docs/zh-TW/intlayer_with_angular_21.md +4 -4
  1152. package/package.json +10 -10
  1153. package/src/generated/docs.entry.ts +60 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-06-14
3
- updatedAt: 2026-06-26
3
+ updatedAt: 2026-07-08
4
4
  title: Nouvel Intlayer v9 - Quoi de neuf ?
5
5
  description: Découvrez les nouveautés d'Intlayer v9. Présentation des packages de compatibilité prêts à l'emploi pour les bibliothèques i18n populaires et prise en charge des Collections et Variants.
6
6
  keywords:
@@ -9,9 +9,13 @@ keywords:
9
9
  - Migration
10
10
  - Collections
11
11
  - Variants
12
+ - CMS SDK
13
+ - Self-Hosting
14
+ - Docker
12
15
  - i18next
13
16
  - next-intl
14
17
  - vue-i18n
18
+ youtubeVideo: https://www.youtube.com/watch?v=zmCN4z_B4jk
15
19
  slugs:
16
20
  - doc
17
21
  - releases
@@ -23,6 +27,14 @@ author: aymericzip
23
27
 
24
28
  Bienvenue sur Intlayer v9 ! Cette version majeure marque une étape importante dans la simplification du chemin de migration vers Intlayer avec les **packages d'adaptateurs de compatibilité** pour les principales bibliothèques i18n (`react-i18next`, `next-intl`, `vue-i18n`, etc.) et ajoute la prise en charge de structures de contenu riches : les **Collections** et les **Variants**.
25
29
 
30
+ <iframe
31
+ src="https://www.youtube.com/embed/zmCN4z_B4jk"
32
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
33
+ title="Demo Video - New Intlayer v9 - What's new?"
34
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
35
+ loading="lazy"
36
+ />
37
+
26
38
  ## Table des matières
27
39
 
28
40
  <TOC levels={[2]} maxDepth={1} />
@@ -109,28 +121,40 @@ Intlayer v9 va au-delà des objets clé-valeur statiques, permettant aux diction
109
121
 
110
122
  Définissez une liste d'éléments ordonnés gérée par un CMS (par exemple, FAQ, produits ou listes de blogs) :
111
123
 
112
- ```ts fileName="faq.content.ts"
124
+ ```ts fileName="faq.1.content.ts"
113
125
  import { t, type Dictionary } from "intlayer";
114
126
 
115
127
  export default {
116
128
  key: "faq",
117
- content: [
118
- {
119
- question: t({ fr: "Qu'est-ce qu'Intlayer ?", en: "What is Intlayer?" }),
120
- answer: t({ fr: "Une boîte à outils i18n.", en: "An i18n toolkit." }),
121
- },
122
- ],
129
+ item: 1,
130
+ content: {
131
+ question: t({ en: "What is Intlayer?", fr: "Qu'est-ce qu'Intlayer ?" }),
132
+ answer: t({ en: "An i18n toolkit.", fr: "Une boîte à outils i18n." }),
133
+ },
134
+ } satisfies Dictionary;
135
+ ```
136
+
137
+ ```ts fileName="faq.2.content.ts"
138
+ import { t, type Dictionary } from "intlayer";
139
+
140
+ export default {
141
+ key: "faq",
142
+ item: 2,
143
+ content: {
144
+ question: t({ en: "Is it free?", fr: "Est-ce gratuit ?" }),
145
+ answer: t({ en: "Yes, open-source.", fr: "Oui, open-source." }),
146
+ },
123
147
  } satisfies Dictionary;
124
148
  ```
125
149
 
126
150
  #### Utilisation :
127
151
 
128
152
  ```ts
129
- // Récupérer tous les éléments
153
+ // Fetch all items as an array
130
154
  const allFaqs = useIntlayer("faq"); // -> { question: string, answer: string }[]
131
155
 
132
- // Récupérer un seul élément par index
133
- const faq = useIntlayer("faq", { item: 1 }); // -> { question: string, answer: string }
156
+ // Fetch a single item by index
157
+ const faq = useIntlayer("faq", { item: 2 }); // -> { question: string, answer: string }
134
158
  ```
135
159
 
136
160
  ### 2. Variants
@@ -180,28 +204,52 @@ export default {
180
204
  ```ts
181
205
  // Récupère uniquement l'élément demandé dynamiquement (nécessite Suspense)
182
206
  const product = useIntlayer("product-copy", {
183
- id: "prod_123",
184
- category: "books",
207
+ variant: { id: "prod_123", category: "books" },
185
208
  });
186
209
  ```
187
210
 
188
211
  ---
189
212
 
190
- ## Chargement dynamique et optimisations de la taille du bundle
191
-
192
- Pour maintenir les bundles extrêmement petits, Intlayer v9 prend en charge le chargement paresseux dynamique.
193
-
194
- Dans votre configuration, définissez `importMode` sur `'dynamic'` ou `'fetch'` :
195
-
196
- ```ts fileName="intlayer.config.ts"
197
- export default {
198
- dictionary: {
199
- importMode: "dynamic", // "static" | "dynamic" | "fetch"
200
- },
213
+ ## `@intlayer/analytics` : suivi de l'exposition du contenu et tests A/B
214
+
215
+ Un nouveau package optionnel, [`@intlayer/analytics`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md), vous indique quel contenu est réellement affiché à vos visiteurs — et boucle la boucle avec **Collections & Variants** en vous permettant de faire des tests A/B sur le contenu et de mesurer les conversions par variante.
216
+
217
+ - **Suivi au niveau du provider** : `IntlayerProvider` (React / Next.js / React Native) enregistre automatiquement des événements `page_view` au chargement, au changement de route et au changement de langue.
218
+ - **Suivi au niveau du nœud** : chaque résolution de `useIntlayer` remonte un événement `content_exposure` — quelle clé de dictionnaire, quel chemin de clé, quelle langue et, le cas échéant, quelle **variante** A/B a été affichée. Les expositions répétées d'un même nœud dans une fenêtre d'envoi sont regroupées.
219
+ - **Attribution déterministe des variantes A/B** : `getVariant(experimentKey, variants)` attribue une variante à chaque session **sans aller-retour serveur**, donc aucun scintillement avant le premier rendu.
220
+ - **`useConversion()`** : attribue un objectif (inscription, clic, achat…) à la variante à laquelle la session a été exposée.
221
+ - **Coût nul si non installé** : même schéma tree-shakeable que `@intlayer/editor` — `import()` dynamique enveloppé dans un `try/catch`, plus une variable d'environnement à la compilation (`INTLAYER_ANALYTICS_ENABLED`) qui élimine complètement l'intégration du bundle pour les applications qui ne l'activent pas.
222
+ - **Aucun nouveau schéma de configuration** : réutilise `editor.backendURL` (point d'envoi / auto-hébergement) et `editor.clientId` (clé de projet, qui sert aussi d'interrupteur d'activation).
223
+ - **Respect de la vie privée** : hachage anonyme de session (SHA-256, aucun identifiant brut stocké), aucun stockage d'IP, géolocalisation grossière limitée au pays, requêtes envoyées par lots environ toutes les 20 secondes.
224
+ - **Tableau de bord** : une nouvelle page **Analytics** (affichée dans la barre latérale une fois un projet sélectionné) indique les utilisateurs actifs, les utilisateurs du jour, ceux des 7/30/90 derniers jours, un graphique d'évolution des visiteurs, ainsi que la répartition par langue et par localisation.
225
+
226
+ ```tsx fileName="CTAButton.tsx" codeFormat="tsx"
227
+ import { useConversion } from "react-intlayer";
228
+
229
+ const CTAButton = () => {
230
+ const trackConversion = useConversion();
231
+
232
+ return (
233
+ <button
234
+ onClick={() =>
235
+ trackConversion({
236
+ experimentKey: "homepage-hero",
237
+ variant: "black_friday",
238
+ goal: "cta_click",
239
+ })
240
+ }
241
+ >
242
+ Get started
243
+ </button>
244
+ );
201
245
  };
202
246
  ```
203
247
 
204
- Au moment de la compilation, `@intlayer/swc` et `@intlayer/babel` analysent vos fichiers et remplacent les appels `useIntlayer` / `getIntlayer` par des wrappers optimisés par tree-shaking (`useDictionary` / `useDictionaryDynamic`). Seul le contenu requis pour l'élément de collection, le variant ou la locale sélectionné est chargé, empêchant ainsi votre bundle de production de contenir des traductions inutilisées.
248
+ ```bash packageManager="npm"
249
+ npm install @intlayer/analytics
250
+ ```
251
+
252
+ Disponible dès aujourd'hui pour React, Next.js et React Native (via `react-intlayer`) ; les intégrations pour d'autres frameworks (Vue, Svelte, Angular, …) sont prévues, en suivant le même schéma de déploiement que `@intlayer/editor`. Consultez la [documentation Analytics](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md) pour le guide complet.
205
253
 
206
254
  ---
207
255
 
@@ -284,13 +332,68 @@ npm install intlayer react-native-intlayer
284
332
 
285
333
  ---
286
334
 
335
+ ## SDK CMS : utilisez Intlayer comme une base de données de contenu headless
336
+
337
+ Intlayer v9 fournit un SDK clair et auto-authentifié dans `@intlayer/api` pour interagir avec le CMS de manière programmatique — récupérer des projets, récupérer des dictionnaires, et les pousser ou les mettre à jour depuis votre propre serveur, vos scripts ou votre CI. L'authentification (OAuth2 `client_credentials`) est gérée et rafraîchie pour vous.
338
+
339
+ Le SDK est divisé en **deux imports distincts** afin que votre bundle n'inclue que les domaines que vous utilisez réellement :
340
+
341
+ 1. `createIntlayerCMS` — un **authentificateur** léger qui détient les identifiants et le jeton géré (aucun client de domaine n'est inclus).
342
+ 2. `dictionaryEndpoint`, `projectEndpoint`, … — des **lieurs d'endpoint** par domaine, chacun importé depuis son propre sous-chemin.
343
+
344
+ ```ts fileName="cms.ts"
345
+ import { createIntlayerCMS } from "@intlayer/api";
346
+ import { dictionaryEndpoint } from "@intlayer/api/dictionary";
347
+
348
+ // La configuration est optionnelle : les identifiants reviennent à INTLAYER_CLIENT_ID /
349
+ // INTLAYER_CLIENT_SECRET résolus par `@intlayer/config/built`.
350
+ const cms = createIntlayerCMS();
351
+
352
+ // Lecture
353
+ const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
354
+
355
+ // Écriture — utilisez le CMS comme une base de données
356
+ await dictionaryEndpoint(cms).pushDictionaries([myDictionary]);
357
+ ```
358
+
359
+ > Sécurité : les identifiants du CMS accordent un accès en écriture à votre contenu. Créez toujours l'authentificateur **côté serveur** uniquement — n'envoyez jamais `clientId` / `clientSecret` au navigateur.
360
+
361
+ ---
362
+
363
+ ## Auto-hébergement
364
+
365
+ Intlayer v9 offre une prise en charge de première classe pour exécuter votre propre instance Intlayer avec une seule commande — aucun compte Intlayer Cloud requis.
366
+
367
+ ```sh
368
+ curl -fsSL https://intlayer.org/install.sh | sh
369
+ ```
370
+
371
+ Le programme d'installation télécharge un `docker-compose.yml` et un `.env`, génère automatiquement les secrets requis et exécute `docker compose up -d`. Tout — le tableau de bord, l'API, la base de données, le stockage d'objets et les e-mails transactionnels — s'exécute localement dans des conteneurs.
372
+
373
+ ### Services inclus
374
+
375
+ | Service | Objectif |
376
+ | --------------------------------------- | ------------------------------------------------------------------------------------ |
377
+ | **app** (TanStack Start) | Interface du tableau de bord sur le port `3000` |
378
+ | **backend** (Fastify/Bun) | API REST sur le port `3100` |
379
+ | **MongoDB 7** (single-node replica set) | Base de données principale |
380
+ | **Redis 7** | Files d'attente de tâches et mise en cache |
381
+ | **MinIO** | Stockage d'objets compatible S3 (avatars, captures d'écran) |
382
+ | **Mailpit** | Puits SMTP local + interface web pour les e-mails transactionnels sur le port `8025` |
383
+
384
+ Chromium (utilisé pour la génération de captures d'écran Puppeteer) est intégré dans l'image du backend — aucun conteneur supplémentaire n'est nécessaire.
385
+
386
+ ---
387
+
287
388
  ## Notes de migration depuis la v8
288
389
 
289
390
  Si vous effectuez une mise à niveau depuis la v8, notez que la v9 n'inclut pas de changements majeurs (breaking changes). Voici cependant les changements clés :
290
391
 
291
392
  - **Compilateur désactivé par défaut** : `compiler.enabled` vaut désormais `false` par défaut. Si vous dépendez de l'extraction de vos fichiers `.content.ts` au build, définissez `compiler.enabled: true` dans votre `intlayer.config.ts`.
393
+ - **Plugin Vite** : Le compilateur et le proxy de routage de locale sont désormais intégrés dans `intlayer()`. Si vous avez précédemment enregistré `intlayerCompiler()` ou `intlayerProxy()` manuellement, vous pouvez les supprimer — ils sont dédupliqués automatiquement, donc les conserver est sans danger. Utilisez `routing.enableProxy: false` pour désactiver le proxy.
292
394
  - **Locales et dialectes** : Si vous utilisez des dépendances i18n externes, ajoutez leurs plugins d'adaptateur de compatibilité respectifs dans votre configuration ou votre setup de bundler pour réécrire automatiquement les imports.
293
395
  - **Sélecteurs personnalisés** : Lors de l'appel de `useIntlayer`, le deuxième paramètre est désormais réservé à un objet d'options contenant `{ locale, item, variant }`. Si vous passiez auparavant une chaîne de caractères de locale directement, vous pouvez toujours le faire, mais l'utilisation de l'objet d'options est recommandée pour les sélections avancées.
396
+ - **React Native** : `react-native-intlayer` réexporte désormais l'intégralité de l'API `react-intlayer`. Dans une application React Native, importez tout depuis `react-native-intlayer` et supprimez la dépendance directe à `react-intlayer`. Les imports `react-intlayer` existants continuent de fonctionner.
294
397
 
295
398
  ---
296
399
 
@@ -298,4 +401,7 @@ Si vous effectuez une mise à niveau depuis la v8, notez que la v9 n'inclut pas
298
401
 
299
402
  - [Guide des packages d'adaptateurs de compatibilité](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/compat/index.md)
300
403
  - [Dictionnaires dynamiques - Collections & Variants](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dynamic_dictionaries/index.md)
404
+ - [Analytics - Suivi de l'exposition du contenu et tests A/B](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md)
301
405
  - [Référence de configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/configuration.md)
406
+ - [SDK CMS - Accès programmatique avec @intlayer/api](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/intlayer_CMS.md)
407
+ - [Guide d'auto-hébergement](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/self_hosting.md)
@@ -0,0 +1,350 @@
1
+ ---
2
+ createdAt: 2026-06-30
3
+ updatedAt: 2026-06-30
4
+ title: Auto-hébergement d'Intlayer
5
+ description: Exécutez une instance complète d'Intlayer sur votre propre infrastructure avec une seule commande. Aucun compte Intlayer Cloud n'est requis.
6
+ keywords:
7
+ - Auto-hébergement
8
+ - Docker
9
+ - Docker Compose
10
+ - Intlayer
11
+ - CMS
12
+ - Installation
13
+ - Infrastructure
14
+ slugs:
15
+ - doc
16
+ - self-hosting
17
+ author: aymericzip
18
+ ---
19
+
20
+ # Auto-hébergement d'Intlayer
21
+
22
+ Intlayer peut fonctionner entièrement sur votre propre infrastructure — aucun compte Intlayer Cloud n'est requis. Une seule commande démarre une stack prête pour la production :
23
+
24
+ ```sh
25
+ curl -fsSL https://intlayer.org/install.sh | sh
26
+ ```
27
+
28
+ L'installateur télécharge un fichier `docker-compose.yml` et un fichier `.env`, génère automatiquement les secrets requis et démarre tous les conteneurs avec `docker compose up -d`.
29
+
30
+ ## Table des matières
31
+
32
+ <TOC/>
33
+
34
+ ---
35
+
36
+ ## Architecture
37
+
38
+ ```
39
+ ┌─────────────────────────────┐
40
+ browser ──────▶ │ app (TanStack Start) :3000│ ──┐
41
+ └─────────────────────────────┘ │ VITE_BACKEND_URL
42
+ ┌─────────────────────────────┐ │
43
+ │ backend (Fastify/Bun) :3100│ ◀─┘
44
+ └──────────────┬──────────────┘
45
+ ┌──────────┬─────────┼──────────┬───────────┐
46
+ ▼ ▼ ▼ ▼ ▼
47
+ mongo:27017 redis:6379 minio:9000 mailpit:1025 Chromium
48
+ (1-node RS) (S3 API) (SMTP) (in-image)
49
+ minio:9001 mailpit:8025
50
+ (console) (web UI)
51
+ ```
52
+
53
+ Chromium (utilisé pour la génération de captures d'écran Puppeteer) est intégré à l'image du backend — aucun conteneur séparé n'est nécessaire.
54
+
55
+ ---
56
+
57
+ ## Prérequis
58
+
59
+ - **Docker** ≥ 24 et **Docker Compose** ≥ v2. Si l'un des deux est manquant, l'installateur affiche le lien d'installation et quitte.
60
+ - Ports `3000`, `3100`, `8025`, `9000` et `9001` disponibles sur l'hôte.
61
+ - Un hôte Linux ou macOS (ou WSL2 sur Windows).
62
+
63
+ ---
64
+
65
+ ## Démarrage rapide
66
+
67
+ ```sh
68
+ curl -fsSL https://intlayer.org/install.sh | sh
69
+ ```
70
+
71
+ Ce que fait l'installateur :
72
+
73
+ 1. Vérifie que `docker` et `docker compose` sont présents.
74
+ 2. Télécharge `docker-compose.yml` et `.env.example` dans `./intlayer/`.
75
+ 3. S'il n'existe pas de fichier `.env`, copie l'exemple et génère des secrets aléatoires pour `BETTER_AUTH_SECRET`, `S3_ACCESS_KEY_ID` et `S3_SECRET_ACCESS_KEY` via `openssl rand`.
76
+ 4. Exécute `docker compose pull` + `docker compose up -d`.
77
+ 5. Affiche les URL : tableau de bord `:3000`, API `:3100`, UI e-mail `:8025`, console MinIO `:9001`.
78
+
79
+ Une fois la stack démarrée, ouvrez **http://localhost:3000** et créez votre premier compte.
80
+
81
+ ---
82
+
83
+ ## Services
84
+
85
+ | Service | Image | Port(s) hôte | Objectif |
86
+ | ----------- | ----------------------------------------------- | ------------------------------ | ------------------------------------------------------------------------ |
87
+ | **app** | construit à partir de `apps/app/Dockerfile` | `3000` | Tableau de bord TanStack Start (UI du CMS) |
88
+ | **backend** | construit à partir de `apps/backend/Dockerfile` | `3100` | API REST Fastify (endpoint `/health`) |
89
+ | **mongo** | `mongo:7` | interne | Réplica set à nœud unique (`rs0`) |
90
+ | **redis** | `redis:7-alpine` | interne | Files d'attente de jobs (BullMQ) et mise en cache (ioredis) |
91
+ | **minio** | `minio/minio` | `9000` (S3), `9001` (console) | Stockage d'objets compatible S3 pour les avatars et les captures d'écran |
92
+ | **mailpit** | `axllent/mailpit` | `1025` (SMTP), `8025` (web UI) | Réceptacle local d'e-mails transactionnels |
93
+
94
+ Les ports internes (mongo, redis) ne sont pas exposés à l'hôte par défaut.
95
+
96
+ > Le port `9000` de MinIO doit être accessible par le navigateur car les assets téléchargés (avatars, captures d'écran) sont chargés directement depuis `S3_PUBLIC_URL=http://localhost:9000/intlayer`.
97
+
98
+ ---
99
+
100
+ ## Variables d'environnement
101
+
102
+ L'installateur génère un fichier `.env` prêt à l'emploi. Le tableau ci-dessous décrit chaque variable.
103
+
104
+ ### Requis (auto-généré ou demandé)
105
+
106
+ | Variable | Exemple | Description |
107
+ | ---------------------- | ----------------------------------------------- | ------------------------------------------------------------------ |
108
+ | `NODE_ENV` | `production` | Environnement d'exécution |
109
+ | `PORT` | `3100` | Port d'écoute du backend |
110
+ | `BACKEND_URL` | `http://localhost:3100` | URL publique de l'API backend |
111
+ | `APP_URL` | `http://localhost:3000` | URL publique du tableau de bord |
112
+ | `DOMAIN` | `localhost` | Domaine du cookie |
113
+ | `MONGODB_URI` | `mongodb://mongo:27017/intlayer?replicaSet=rs0` | URI de connexion complète à MongoDB |
114
+ | `REDIS_URL` | `redis://redis:6379` | URL de connexion Redis |
115
+ | `BETTER_AUTH_SECRET` | _(généré)_ | Secret de 32 octets pour la signature de session |
116
+ | `MAIL_PROVIDER` | `smtp` | Transport de courrier : `smtp` ou `resend` |
117
+ | `MAIL_SMTP_HOST` | `mailpit` | Nom d'hôte SMTP (nom du conteneur Mailpit) |
118
+ | `MAIL_SMTP_PORT` | `1025` | Port SMTP |
119
+ | `MAIL_FROM` | `Intlayer <no-reply@localhost>` | Adresse de l'expéditeur |
120
+ | `S3_ENDPOINT` | `http://minio:9000` | Endpoint compatible S3 |
121
+ | `S3_PUBLIC_URL` | `http://localhost:9000/intlayer` | URL publique pour le chargement des assets par le navigateur |
122
+ | `S3_BUCKET_NAME` | `intlayer` | Nom du bucket |
123
+ | `S3_ACCESS_KEY_ID` | _(généré)_ | Clé d'accès MinIO |
124
+ | `S3_SECRET_ACCESS_KEY` | _(généré)_ | Clé secrète MinIO |
125
+ | `VITE_BACKEND_URL` | `http://localhost:3100` | URL du backend intégrée au tableau de bord lors de la construction |
126
+ | `VITE_DOMAIN` | `localhost` | Domaine intégré au tableau de bord lors de la construction |
127
+
128
+ ### Facultatif (les fonctionnalités se dégradent gracieusement en leur absence)
129
+
130
+ | Variable | Fonctionnalité |
131
+ | -------------------------------------------------------- | --------------------------------------------------------------- |
132
+ | `OPENAI_API_KEY` | Traduction assistée par IA et audit de contenu |
133
+ | `STRIPE_SECRET_KEY`, `STRIPE_WEBHOOK_SECRET`, `STRIPE_*` | Gestion de la facturation et des abonnements |
134
+ | `RESEND_API_KEY` | E-mail transactionnel via Resend (outrepasse Mailpit si défini) |
135
+ | `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` | Connexion OAuth GitHub |
136
+ | `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` | Connexion OAuth Google |
137
+ | `GITLAB_CLIENT_ID`, `GITLAB_CLIENT_SECRET` | Connexion OAuth GitLab |
138
+ | `MICROSOFT_CLIENT_ID`, `MICROSOFT_CLIENT_SECRET` | Connexion OAuth Microsoft |
139
+ | `LINKEDIN_CLIENT_ID`, `LINKEDIN_CLIENT_SECRET` | Connexion OAuth LinkedIn |
140
+ | `ATLASSIAN_CLIENT_ID`, `ATLASSIAN_CLIENT_SECRET` | Connexion OAuth Atlassian |
141
+
142
+ ---
143
+
144
+ ## Connexion de votre projet Intlayer
145
+
146
+ Une fois la stack en cours d'exécution, pointez votre projet vers le backend et le tableau de bord auto-hébergés au lieu de `intlayer.org`.
147
+
148
+ ### Configuration du projet
149
+
150
+ ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
151
+ import type { IntlayerConfig } from "intlayer";
152
+
153
+ const config: IntlayerConfig = {
154
+ editor: {
155
+ clientId: process.env.INTLAYER_CLIENT_ID,
156
+ clientSecret: process.env.INTLAYER_CLIENT_SECRET,
157
+
158
+ /**
159
+ * URL du tableau de bord CMS auto-hébergé.
160
+ * Par défaut : https://app.intlayer.org
161
+ */
162
+ cmsURL: process.env.INTLAYER_CMS_URL, // ex. http://localhost:3000
163
+
164
+ /**
165
+ * URL de l'API backend auto-hébergée.
166
+ * Par défaut : https://back.intlayer.org
167
+ */
168
+ backendURL: process.env.INTLAYER_BACKEND_URL, // ex. http://localhost:3100
169
+ },
170
+ };
171
+
172
+ export default config;
173
+ ```
174
+
175
+ Définissez les variables d'environnement dans le fichier `.env` de votre projet :
176
+
177
+ ```sh
178
+ INTLAYER_CMS_URL=http://localhost:3000
179
+ INTLAYER_BACKEND_URL=http://localhost:3100
180
+ INTLAYER_CLIENT_ID=<your-client-id>
181
+ INTLAYER_CLIENT_SECRET=<your-client-secret>
182
+ ```
183
+
184
+ Créez des identifiants d'accès dans votre tableau de bord auto-hébergé sous **Projets → Clés d'accès** à l'adresse `http://localhost:3000/projects`.
185
+
186
+ ### SDK `@intlayer/api`
187
+
188
+ Lorsque vous utilisez le SDK `@intlayer/api` de manière programmatique, passez `backendURL` explicitement :
189
+
190
+ ```typescript fileName="cms.ts" codeFormat="typescript"
191
+ import { createIntlayerCMS } from "@intlayer/api";
192
+ import { dictionaryEndpoint } from "@intlayer/api/dictionary";
193
+
194
+ const cms = createIntlayerCMS({
195
+ editor: {
196
+ clientId: process.env.INTLAYER_CLIENT_ID,
197
+ clientSecret: process.env.INTLAYER_CLIENT_SECRET,
198
+ backendURL: process.env.INTLAYER_BACKEND_URL, // http://localhost:3100
199
+ },
200
+ });
201
+
202
+ const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
203
+ ```
204
+
205
+ ---
206
+
207
+ ## Mise à niveau
208
+
209
+ Exécuter à nouveau l'installateur sur un déploiement existant effectue une mise à niveau progressive :
210
+
211
+ ```sh
212
+ curl -fsSL https://intlayer.org/install.sh | sh
213
+ ```
214
+
215
+ Ceci télécharge les dernières images et redémarre les conteneurs avec `docker compose pull && docker compose up -d`. Les volumes existants (`mongo-data`, `redis-data`, `minio-data`) sont préservés — aucune perte de données.
216
+
217
+ Pour effectuer une mise à niveau manuellement depuis le répertoire `./intlayer/` :
218
+
219
+ ```sh
220
+ docker compose pull
221
+ docker compose up -d
222
+ ```
223
+
224
+ ---
225
+
226
+ ## Sauvegarde et restauration
227
+
228
+ Toutes les données persistantes résident dans trois volumes Docker nommés.
229
+
230
+ ### Sauvegarde
231
+
232
+ ```sh
233
+ docker run --rm \
234
+ -v intlayer_mongo-data:/data \
235
+ -v "$(pwd)":/backup \
236
+ busybox tar czf /backup/mongo-data.tar.gz /data
237
+
238
+ docker run --rm \
239
+ -v intlayer_redis-data:/data \
240
+ -v "$(pwd)":/backup \
241
+ busybox tar czf /backup/redis-data.tar.gz /data
242
+
243
+ docker run --rm \
244
+ -v intlayer_minio-data:/data \
245
+ -v "$(pwd)":/backup \
246
+ busybox tar czf /backup/minio-data.tar.gz /data
247
+ ```
248
+
249
+ ### Restauration
250
+
251
+ ```sh
252
+ docker run --rm \
253
+ -v intlayer_mongo-data:/data \
254
+ -v "$(pwd)":/backup \
255
+ busybox tar xzf /backup/mongo-data.tar.gz -C /
256
+
257
+ # Répétez pour redis-data et minio-data
258
+ ```
259
+
260
+ ---
261
+
262
+ ## Utilisation d'un proxy inverse (Nginx / Caddy)
263
+
264
+ Pour les déploiements de production, placez un proxy inverse devant les conteneurs de l'application et du backend au lieu de les exposer directement.
265
+
266
+ ### Exemple Nginx
267
+
268
+ ```nginx
269
+ server {
270
+ listen 80;
271
+ server_name cms.example.com;
272
+
273
+ location / {
274
+ proxy_pass http://localhost:3000;
275
+ proxy_set_header Host $host;
276
+ proxy_set_header X-Real-IP $remote_addr;
277
+ }
278
+ }
279
+
280
+ server {
281
+ listen 80;
282
+ server_name api.example.com;
283
+
284
+ location / {
285
+ proxy_pass http://localhost:3100;
286
+ proxy_set_header Host $host;
287
+ proxy_set_header X-Real-IP $remote_addr;
288
+ }
289
+ }
290
+ ```
291
+
292
+ Mettez à jour les variables `.env` suivantes pour qu'elles correspondent à vos domaines publics :
293
+
294
+ ```sh
295
+ BACKEND_URL=https://api.example.com
296
+ APP_URL=https://cms.example.com
297
+ DOMAIN=example.com
298
+ VITE_BACKEND_URL=https://api.example.com
299
+ VITE_DOMAIN=example.com
300
+ ```
301
+
302
+ > Les variables `VITE_*` sont intégrées à l'image du tableau de bord lors de la construction. Si vous les modifiez après la construction de l'image, vous devez reconstruire l'image `app` (`docker compose build app`) ou utiliser l'injection de configuration au moment de l'exécution.
303
+
304
+ ---
305
+
306
+ ## Dépannage
307
+
308
+ ### Le backend redémarre en boucle au premier démarrage
309
+
310
+ MongoDB et Redis doivent être sains avant le démarrage du backend. Le fichier compose utilise `depends_on` avec `condition: service_healthy`. Si vous voyez des redémarrages répétés du backend, vérifiez que les contrôles de santé de `mongo` et `redis` sont réussis :
311
+
312
+ ```sh
313
+ docker compose ps
314
+ docker compose logs mongo
315
+ docker compose logs redis
316
+ ```
317
+
318
+ ### Le tableau de bord ne peut pas atteindre l'API
319
+
320
+ Vérifiez que `VITE_BACKEND_URL` correspond à l'URL où le backend est accessible depuis le **navigateur** (pas le réseau Docker). Si vous avez modifié le port du backend ou ajouté un proxy inverse, reconstruisez l'image du tableau de bord :
321
+
322
+ ```sh
323
+ docker compose build app
324
+ docker compose up -d app
325
+ ```
326
+
327
+ ### Les e-mails ne sont pas envoyés
328
+
329
+ Par défaut, tous les e-mails sortants sont capturés par Mailpit. Ouvrez `http://localhost:8025` pour voir les messages envoyés. Pour envoyer de vrais e-mails, définissez `MAIL_PROVIDER=resend` et `RESEND_API_KEY=<your-key>` dans `.env`, puis redémarrez le backend :
330
+
331
+ ```sh
332
+ docker compose restart backend
333
+ ```
334
+
335
+ ### Bucket MinIO manquant
336
+
337
+ Si le service ponctuel `minio-init` n'a pas fonctionné (ou a fonctionné avant que MinIO ne soit prêt), créez le bucket manuellement :
338
+
339
+ ```sh
340
+ docker compose run --rm minio-init
341
+ ```
342
+
343
+ ---
344
+
345
+ ## Liens utiles
346
+
347
+ - [Documentation du CMS Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/intlayer_CMS.md)
348
+ - [Référence de configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/configuration.md)
349
+ - [SDK CMS — `@intlayer/api`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/intlayer_CMS.md#programmatic-access-with-the-intlayerapi-sdk)
350
+ - [Docker Image (aymercizip/intlayer-selfhost)](https://hub.docker.com/repository/docker/aymercizip/intlayer-selfhost/general)
@@ -231,6 +231,9 @@ Next.js को ऑप्टिमाइज़ (import rewrite) पास के
231
231
 
232
232
  > यह प्लगइन डिफ़ॉल्ट रूप से इंस्टॉल नहीं होता है क्योंकि SWC प्लगइन्स अभी भी Next.js के लिए प्रायोगिक (experimental) हैं। भविष्य में यह बदल सकता है।
233
233
 
234
+ <Tabs>
235
+ <Tab value="npm">
236
+
234
237
  ```bash packageManager="npm"
235
238
  npm install -D @intlayer/swc
236
239
  ```
@@ -247,6 +250,19 @@ pnpm add -D @intlayer/swc
247
250
  bun add -d @intlayer/swc
248
251
  ```
249
252
 
253
+ </Tab>
254
+ <Tab value="Crates.io (rust)">
255
+
256
+ ```toml fileName="Cargo.toml"
257
+ [dependencies]
258
+ intlayer-swc-plugin = "*"
259
+ ```
260
+
261
+ [View on Crates.io](https://crates.io/crates/intlayer-swc-plugin)
262
+
263
+ </Tab>
264
+ </Tabs>
265
+
250
266
  एक बार इंस्टॉल हो जाने पर, Intlayer स्वचालित रूप से प्लगइन का पता लगाएगा और उसका उपयोग करेगा।
251
267
 
252
268
  **purge और minify** पास (फ़ील्ड हटाना और फ़ील्ड का नाम बदलना) के लिए, इसके साथ `@intlayer/babel` इंस्टॉल करें और Babel प्लगइन्स जोड़ें। क्योंकि Next.js ट्रांसफ़ॉर्मेशन के लिए SWC का उपयोग करता है लेकिन फिर भी प्लगइन कॉन्फ़िगरेशन के लिए `babel.config.js` का मूल्यांकन (evaluates) करता है, Babel प्लगइन्स SWC से पहले एक प्री-पास के रूप में चलते हैं।
@@ -125,7 +125,7 @@ Intlayer कई कॉन्फ़िगरेशन फ़ाइल प्र
125
125
 
126
126
  ### प्रमाणीकरण (Authentication)
127
127
 
128
- - **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/login.md)** - Intlayer CMS के साथ प्रमाणित हों और एक्सेस क्रेडेंशियल प्राप्त करें
128
+ - **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/cli/login.md)** - Intlayer CMS के साथ प्रमाणित हों और एक्सेस क्रेडेंशियल प्राप्त करें
129
129
 
130
130
  ### मुख्य कमांड (Core Commands)
131
131
 
@@ -150,10 +150,10 @@ await scan("https://example.com", {
150
150
  });
151
151
  ```
152
152
 
153
- निम्न-स्तरीय पहुँच के लिए, `@intlayer/chokidar/scan` से `scanWebsite` एक संरचित `ScanResult` ऑब्जेक्ट लौटाता है:
153
+ निम्न-स्तरीय पहुँच के लिए, `@intlayer/engine/scan` से `scanWebsite` एक संरचित `ScanResult` ऑब्जेक्ट लौटाता है:
154
154
 
155
155
  ```ts
156
- import { scanWebsite } from "@intlayer/chokidar/scan";
156
+ import { scanWebsite } from "@intlayer/engine/scan";
157
157
 
158
158
  const result = await scanWebsite("https://example.com", { deep: false });
159
159
  console.log(result.score, result.totalPageSize, result.events);